diff --git a/.gitignore b/.gitignore index 2a6e2f0c..8a9e32bb 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,27 @@ # Mac OS X metadata *.DS_Store + +# +# Xcode gitignore settings are from https://github.com/github/gitignore/blob/master/Global/Xcode.gitignore +# + +## Xcode, Build generated +build/ +DerivedData/ + +## Xcode, Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Xcode, Other +*.moved-aside +*.xccheckout +*.xcscmblueprint diff --git a/BasiliskII/src/CrossPlatform/sigsegv.cpp b/BasiliskII/src/CrossPlatform/sigsegv.cpp index 570058c2..72658a9f 100644 --- a/BasiliskII/src/CrossPlatform/sigsegv.cpp +++ b/BasiliskII/src/CrossPlatform/sigsegv.cpp @@ -31,9 +31,7 @@ #include #endif -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include #include diff --git a/BasiliskII/src/CrossPlatform/vm_alloc.cpp b/BasiliskII/src/CrossPlatform/vm_alloc.cpp index 005cb727..a797579c 100644 --- a/BasiliskII/src/CrossPlatform/vm_alloc.cpp +++ b/BasiliskII/src/CrossPlatform/vm_alloc.cpp @@ -19,9 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #ifdef HAVE_FCNTL_H #include diff --git a/BasiliskII/src/MacOSX/Assets.xcassets/AppIcon.appiconset/Contents.json b/BasiliskII/src/MacOSX/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..2db2b1c7 --- /dev/null +++ b/BasiliskII/src/MacOSX/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/BasiliskII/src/MacOSX/BasiliskII.xcodeproj/project.pbxproj b/BasiliskII/src/MacOSX/BasiliskII.xcodeproj/project.pbxproj new file mode 100644 index 00000000..02e9485d --- /dev/null +++ b/BasiliskII/src/MacOSX/BasiliskII.xcodeproj/project.pbxproj @@ -0,0 +1,936 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 7539DFBF1F23B17E006B2DF2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7539DFBE1F23B17E006B2DF2 /* Assets.xcassets */; }; + 7539E1251F23B25A006B2DF2 /* adb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFC91F23B25A006B2DF2 /* adb.cpp */; }; + 7539E1261F23B25A006B2DF2 /* audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFCA1F23B25A006B2DF2 /* audio.cpp */; }; + 7539E1271F23B25A006B2DF2 /* cdrom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFCB1F23B25A006B2DF2 /* cdrom.cpp */; }; + 7539E1281F23B25A006B2DF2 /* sigsegv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFCD1F23B25A006B2DF2 /* sigsegv.cpp */; }; + 7539E1291F23B25A006B2DF2 /* video_blit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFCF1F23B25A006B2DF2 /* video_blit.cpp */; }; + 7539E12A1F23B25A006B2DF2 /* vm_alloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFD21F23B25A006B2DF2 /* vm_alloc.cpp */; }; + 7539E12B1F23B25A006B2DF2 /* disk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFD41F23B25A006B2DF2 /* disk.cpp */; }; + 7539E12C1F23B25A006B2DF2 /* emul_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFD51F23B25A006B2DF2 /* emul_op.cpp */; }; + 7539E12D1F23B25A006B2DF2 /* ether.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFD61F23B25A006B2DF2 /* ether.cpp */; }; + 7539E12E1F23B25A006B2DF2 /* extfs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFD71F23B25A006B2DF2 /* extfs.cpp */; }; + 7539E12F1F23B25A006B2DF2 /* macos_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539DFF81F23B25A006B2DF2 /* macos_util.cpp */; }; + 7539E1301F23B25A006B2DF2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7539DFFA1F23B25A006B2DF2 /* Assets.xcassets */; }; + 7539E1341F23B25A006B2DF2 /* BasiliskII.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7539E0021F23B25A006B2DF2 /* BasiliskII.icns */; }; + 7539E1381F23B25A006B2DF2 /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = 7539E00A1F23B25A006B2DF2 /* Credits.html */; }; + 7539E13B1F23B25A006B2DF2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7539E00F1F23B25A006B2DF2 /* InfoPlist.strings */; }; + 7539E13E1F23B25A006B2DF2 /* HowTo.html in Resources */ = {isa = PBXBuildFile; fileRef = 7539E0141F23B25A006B2DF2 /* HowTo.html */; }; + 7539E14B1F23B25A006B2DF2 /* ToDo.html in Resources */ = {isa = PBXBuildFile; fileRef = 7539E02B1F23B25A006B2DF2 /* ToDo.html */; }; + 7539E14D1F23B25A006B2DF2 /* Versions.html in Resources */ = {isa = PBXBuildFile; fileRef = 7539E02E1F23B25A006B2DF2 /* Versions.html */; }; + 7539E16C1F23B25A006B2DF2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0651F23B25A006B2DF2 /* main.cpp */; }; + 7539E16D1F23B25A006B2DF2 /* pict.c in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0681F23B25A006B2DF2 /* pict.c */; }; + 7539E16F1F23B25A006B2DF2 /* prefs_items.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E06C1F23B25A006B2DF2 /* prefs_items.cpp */; }; + 7539E1701F23B25A006B2DF2 /* prefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E06D1F23B25A006B2DF2 /* prefs.cpp */; }; + 7539E1711F23B25A006B2DF2 /* rom_patches.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E06E1F23B25A006B2DF2 /* rom_patches.cpp */; }; + 7539E1721F23B25A006B2DF2 /* rsrc_patches.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E06F1F23B25A006B2DF2 /* rsrc_patches.cpp */; }; + 7539E1731F23B25A006B2DF2 /* scsi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0701F23B25A006B2DF2 /* scsi.cpp */; }; + 7539E1741F23B25A006B2DF2 /* audio_sdl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0721F23B25A006B2DF2 /* audio_sdl.cpp */; }; + 7539E1751F23B25A006B2DF2 /* keycodes in Resources */ = {isa = PBXBuildFile; fileRef = 7539E0731F23B25A006B2DF2 /* keycodes */; }; + 7539E1761F23B25A006B2DF2 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0751F23B25A006B2DF2 /* SDLMain.m */; }; + 7539E1771F23B25A006B2DF2 /* video_sdl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0761F23B25A006B2DF2 /* video_sdl.cpp */; }; + 7539E1781F23B25A006B2DF2 /* serial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0771F23B25A006B2DF2 /* serial.cpp */; }; + 7539E18D1F23B25A006B2DF2 /* slot_rom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0A21F23B25A006B2DF2 /* slot_rom.cpp */; }; + 7539E18E1F23B25A006B2DF2 /* sony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0A31F23B25A006B2DF2 /* sony.cpp */; }; + 7539E18F1F23B25A006B2DF2 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0A41F23B25A006B2DF2 /* timer.cpp */; }; + 7539E1901F23B25A006B2DF2 /* basilisk_glue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0A61F23B25A006B2DF2 /* basilisk_glue.cpp */; }; + 7539E1981F23B25A006B2DF2 /* exceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0B51F23B25A006B2DF2 /* exceptions.cpp */; }; + 7539E1991F23B25A006B2DF2 /* flags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0B71F23B25A006B2DF2 /* flags.cpp */; }; + 7539E19D1F23B25A006B2DF2 /* mathlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0C21F23B25A006B2DF2 /* mathlib.cpp */; }; + 7539E19E1F23B25A006B2DF2 /* rounding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0C41F23B25A006B2DF2 /* rounding.cpp */; }; + 7539E1A01F23B25A006B2DF2 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0C91F23B25A006B2DF2 /* memory.cpp */; }; + 7539E1A21F23B25A006B2DF2 /* readcpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E0CE1F23B25A006B2DF2 /* readcpu.cpp */; }; + 7539E1A31F23B25A006B2DF2 /* table68k in Resources */ = {isa = PBXBuildFile; fileRef = 7539E0D11F23B25A006B2DF2 /* table68k */; }; + 7539E1E11F23B25A006B2DF2 /* user_strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E1221F23B25A006B2DF2 /* user_strings.cpp */; }; + 7539E1E21F23B25A006B2DF2 /* video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E1231F23B25A006B2DF2 /* video.cpp */; }; + 7539E1E31F23B25A006B2DF2 /* xpram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E1241F23B25A006B2DF2 /* xpram.cpp */; }; + 7539E23F1F23B32A006B2DF2 /* bincue_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E1F01F23B329006B2DF2 /* bincue_unix.cpp */; }; + 7539E2451F23B32A006B2DF2 /* gtk-osx.patch in Resources */ = {isa = PBXBuildFile; fileRef = 7539E1F81F23B329006B2DF2 /* gtk-osx.patch */; }; + 7539E2471F23B32A006B2DF2 /* mkstandalone in Resources */ = {isa = PBXBuildFile; fileRef = 7539E1FA1F23B32A006B2DF2 /* mkstandalone */; }; + 7539E2491F23B32A006B2DF2 /* testlmem.sh in Resources */ = {isa = PBXBuildFile; fileRef = 7539E1FC1F23B32A006B2DF2 /* testlmem.sh */; }; + 7539E24A1F23B32A006B2DF2 /* disk_sparsebundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E1FD1F23B32A006B2DF2 /* disk_sparsebundle.cpp */; }; + 7539E24C1F23B32A006B2DF2 /* extfs_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2001F23B32A006B2DF2 /* extfs_unix.cpp */; }; + 7539E24D1F23B32A006B2DF2 /* fbdevices in Resources */ = {isa = PBXBuildFile; fileRef = 7539E2011F23B32A006B2DF2 /* fbdevices */; }; + 7539E2501F23B32A006B2DF2 /* install-sh in Resources */ = {isa = PBXBuildFile; fileRef = 7539E2051F23B32A006B2DF2 /* install-sh */; }; + 7539E2541F23B32A006B2DF2 /* keycodes in Resources */ = {isa = PBXBuildFile; fileRef = 7539E20A1F23B32A006B2DF2 /* keycodes */; }; + 7539E2551F23B32A006B2DF2 /* freebsd-i386.ld in Resources */ = {isa = PBXBuildFile; fileRef = 7539E20C1F23B32A006B2DF2 /* freebsd-i386.ld */; }; + 7539E2561F23B32A006B2DF2 /* linux-i386.ld in Resources */ = {isa = PBXBuildFile; fileRef = 7539E20D1F23B32A006B2DF2 /* linux-i386.ld */; }; + 7539E2571F23B32A006B2DF2 /* linux-ppc.ld in Resources */ = {isa = PBXBuildFile; fileRef = 7539E20E1F23B32A006B2DF2 /* linux-ppc.ld */; }; + 7539E2581F23B32A006B2DF2 /* linux-x86_64.ld in Resources */ = {isa = PBXBuildFile; fileRef = 7539E20F1F23B32A006B2DF2 /* linux-x86_64.ld */; }; + 7539E25D1F23B32A006B2DF2 /* egrep.m4 in Resources */ = {isa = PBXBuildFile; fileRef = 7539E2181F23B32A006B2DF2 /* egrep.m4 */; }; + 7539E25E1F23B32A006B2DF2 /* esd.m4 in Resources */ = {isa = PBXBuildFile; fileRef = 7539E2191F23B32A006B2DF2 /* esd.m4 */; }; + 7539E25F1F23B32A006B2DF2 /* gettext.m4 in Resources */ = {isa = PBXBuildFile; fileRef = 7539E21A1F23B32A006B2DF2 /* gettext.m4 */; }; + 7539E2601F23B32A006B2DF2 /* gtk-2.0.m4 in Resources */ = {isa = PBXBuildFile; fileRef = 7539E21B1F23B32A006B2DF2 /* gtk-2.0.m4 */; }; + 7539E2611F23B32A006B2DF2 /* gtk.m4 in Resources */ = {isa = PBXBuildFile; fileRef = 7539E21C1F23B32A006B2DF2 /* gtk.m4 */; }; + 7539E2631F23B32A006B2DF2 /* Makefile.in in Resources */ = {isa = PBXBuildFile; fileRef = 7539E21E1F23B32A006B2DF2 /* Makefile.in */; }; + 7539E2641F23B32A006B2DF2 /* mkinstalldirs in Resources */ = {isa = PBXBuildFile; fileRef = 7539E21F1F23B32A006B2DF2 /* mkinstalldirs */; }; + 7539E2681F23B32A006B2DF2 /* rpc_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2241F23B32A006B2DF2 /* rpc_unix.cpp */; }; + 7539E26C1F23B32A006B2DF2 /* sshpty.c in Sources */ = {isa = PBXBuildFile; fileRef = 7539E22A1F23B32A006B2DF2 /* sshpty.c */; }; + 7539E26D1F23B32A006B2DF2 /* strlcpy.c in Sources */ = {isa = PBXBuildFile; fileRef = 7539E22C1F23B32A006B2DF2 /* strlcpy.c */; }; + 7539E26E1F23B32A006B2DF2 /* sys_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E22E1F23B32A006B2DF2 /* sys_unix.cpp */; }; + 7539E26F1F23B32A006B2DF2 /* timer_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2301F23B32A006B2DF2 /* timer_unix.cpp */; }; + 7539E2701F23B32A006B2DF2 /* tinyxml2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2311F23B32A006B2DF2 /* tinyxml2.cpp */; }; + 7539E2711F23B32A006B2DF2 /* tunconfig in Resources */ = {isa = PBXBuildFile; fileRef = 7539E2331F23B32A006B2DF2 /* tunconfig */; }; + 7539E27B1F23B488006B2DF2 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7539E2771F23B469006B2DF2 /* SDL.framework */; }; + 7539E27C1F23B488006B2DF2 /* SDL.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7539E2771F23B469006B2DF2 /* SDL.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7539E2801F23C4CA006B2DF2 /* main_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E27F1F23C4CA006B2DF2 /* main_unix.cpp */; }; + 7539E28E1F23C56F006B2DF2 /* clip_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2851F23C56F006B2DF2 /* clip_dummy.cpp */; }; + 7539E28F1F23C56F006B2DF2 /* ether_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2861F23C56F006B2DF2 /* ether_dummy.cpp */; }; + 7539E2901F23C56F006B2DF2 /* prefs_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2871F23C56F006B2DF2 /* prefs_dummy.cpp */; }; + 7539E2911F23C56F006B2DF2 /* prefs_editor_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2881F23C56F006B2DF2 /* prefs_editor_dummy.cpp */; }; + 7539E2921F23C56F006B2DF2 /* scsi_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2891F23C56F006B2DF2 /* scsi_dummy.cpp */; }; + 7539E2931F23C56F006B2DF2 /* serial_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E28A1F23C56F006B2DF2 /* serial_dummy.cpp */; }; + 7539E2941F23C56F006B2DF2 /* user_strings_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E28B1F23C56F006B2DF2 /* user_strings_dummy.cpp */; }; + 7539E2951F23C56F006B2DF2 /* xpram_dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E28C1F23C56F006B2DF2 /* xpram_dummy.cpp */; }; + 7539E2971F23C5FD006B2DF2 /* newcpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2961F23C5FD006B2DF2 /* newcpu.cpp */; }; + 7539E29D1F23C83F006B2DF2 /* sys_darwin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E29C1F23C83F006B2DF2 /* sys_darwin.cpp */; }; + 7539E29F1F23C939006B2DF2 /* fpu_uae.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E29E1F23C939006B2DF2 /* fpu_uae.cpp */; }; + 7539E2A51F23CB9B006B2DF2 /* cpuemu_nf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2A01F23CB9B006B2DF2 /* cpuemu_nf.cpp */; }; + 7539E2A61F23CB9B006B2DF2 /* cpuemu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2A11F23CB9B006B2DF2 /* cpuemu.cpp */; }; + 7539E2A71F23CB9B006B2DF2 /* cpustbl_nf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2A21F23CB9B006B2DF2 /* cpustbl_nf.cpp */; }; + 7539E2A81F23CB9B006B2DF2 /* cpustbl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2A31F23CB9B006B2DF2 /* cpustbl.cpp */; }; + 7539E2A91F23CB9B006B2DF2 /* defs68k.c in Sources */ = {isa = PBXBuildFile; fileRef = 7539E2A41F23CB9B006B2DF2 /* defs68k.c */; }; + 7539E2AB1F23CDB7006B2DF2 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7539E2AA1F23CDB7006B2DF2 /* Info.plist */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 7539E27D1F23B489006B2DF2 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 7539E27C1F23B488006B2DF2 /* SDL.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 7539DFB21F23B17E006B2DF2 /* BasiliskII.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BasiliskII.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 7539DFBE1F23B17E006B2DF2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 7539DFC91F23B25A006B2DF2 /* adb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = adb.cpp; path = ../adb.cpp; sourceTree = ""; }; + 7539DFCA1F23B25A006B2DF2 /* audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = audio.cpp; path = ../audio.cpp; sourceTree = ""; }; + 7539DFCB1F23B25A006B2DF2 /* cdrom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cdrom.cpp; path = ../cdrom.cpp; sourceTree = ""; }; + 7539DFCD1F23B25A006B2DF2 /* sigsegv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sigsegv.cpp; sourceTree = ""; }; + 7539DFCE1F23B25A006B2DF2 /* sigsegv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sigsegv.h; sourceTree = ""; }; + 7539DFCF1F23B25A006B2DF2 /* video_blit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = video_blit.cpp; sourceTree = ""; }; + 7539DFD01F23B25A006B2DF2 /* video_blit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_blit.h; sourceTree = ""; }; + 7539DFD11F23B25A006B2DF2 /* video_vosf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_vosf.h; sourceTree = ""; }; + 7539DFD21F23B25A006B2DF2 /* vm_alloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vm_alloc.cpp; sourceTree = ""; }; + 7539DFD31F23B25A006B2DF2 /* vm_alloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_alloc.h; sourceTree = ""; }; + 7539DFD41F23B25A006B2DF2 /* disk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = disk.cpp; path = ../disk.cpp; sourceTree = ""; }; + 7539DFD51F23B25A006B2DF2 /* emul_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = emul_op.cpp; path = ../emul_op.cpp; sourceTree = ""; }; + 7539DFD61F23B25A006B2DF2 /* ether.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ether.cpp; path = ../ether.cpp; sourceTree = ""; }; + 7539DFD71F23B25A006B2DF2 /* extfs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = extfs.cpp; path = ../extfs.cpp; sourceTree = ""; }; + 7539DFD91F23B25A006B2DF2 /* adb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adb.h; sourceTree = ""; }; + 7539DFDA1F23B25A006B2DF2 /* audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio.h; sourceTree = ""; }; + 7539DFDB1F23B25A006B2DF2 /* audio_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_defs.h; sourceTree = ""; }; + 7539DFDC1F23B25A006B2DF2 /* cdrom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cdrom.h; sourceTree = ""; }; + 7539DFDD1F23B25A006B2DF2 /* clip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clip.h; sourceTree = ""; }; + 7539DFDE1F23B25A006B2DF2 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = ""; }; + 7539DFDF1F23B25A006B2DF2 /* disk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disk.h; sourceTree = ""; }; + 7539DFE01F23B25A006B2DF2 /* emul_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = emul_op.h; sourceTree = ""; }; + 7539DFE11F23B25A006B2DF2 /* ether.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ether.h; sourceTree = ""; }; + 7539DFE21F23B25A006B2DF2 /* ether_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ether_defs.h; sourceTree = ""; }; + 7539DFE31F23B25A006B2DF2 /* extfs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extfs.h; sourceTree = ""; }; + 7539DFE41F23B25A006B2DF2 /* extfs_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extfs_defs.h; sourceTree = ""; }; + 7539DFE51F23B25A006B2DF2 /* macos_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macos_util.h; sourceTree = ""; }; + 7539DFE61F23B25A006B2DF2 /* main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; }; + 7539DFE71F23B25A006B2DF2 /* pict.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pict.h; sourceTree = ""; }; + 7539DFE81F23B25A006B2DF2 /* prefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prefs.h; sourceTree = ""; }; + 7539DFE91F23B25A006B2DF2 /* prefs_editor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prefs_editor.h; sourceTree = ""; }; + 7539DFEA1F23B25A006B2DF2 /* rom_patches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rom_patches.h; sourceTree = ""; }; + 7539DFEB1F23B25A006B2DF2 /* rsrc_patches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rsrc_patches.h; sourceTree = ""; }; + 7539DFEC1F23B25A006B2DF2 /* scsi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scsi.h; sourceTree = ""; }; + 7539DFED1F23B25A006B2DF2 /* serial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = serial.h; sourceTree = ""; }; + 7539DFEE1F23B25A006B2DF2 /* serial_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = serial_defs.h; sourceTree = ""; }; + 7539DFEF1F23B25A006B2DF2 /* slot_rom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slot_rom.h; sourceTree = ""; }; + 7539DFF01F23B25A006B2DF2 /* sony.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sony.h; sourceTree = ""; }; + 7539DFF11F23B25A006B2DF2 /* sys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sys.h; sourceTree = ""; }; + 7539DFF21F23B25A006B2DF2 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = ""; }; + 7539DFF31F23B25A006B2DF2 /* user_strings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user_strings.h; sourceTree = ""; }; + 7539DFF41F23B25A006B2DF2 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; + 7539DFF51F23B25A006B2DF2 /* video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video.h; sourceTree = ""; }; + 7539DFF61F23B25A006B2DF2 /* video_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_defs.h; sourceTree = ""; }; + 7539DFF71F23B25A006B2DF2 /* xpram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xpram.h; sourceTree = ""; }; + 7539DFF81F23B25A006B2DF2 /* macos_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macos_util.cpp; path = ../macos_util.cpp; sourceTree = ""; }; + 7539DFFA1F23B25A006B2DF2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 7539DFFB1F23B25A006B2DF2 /* audio_defs_macosx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_defs_macosx.h; sourceTree = ""; }; + 7539E0021F23B25A006B2DF2 /* BasiliskII.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = BasiliskII.icns; sourceTree = ""; }; + 7539E0031F23B25A006B2DF2 /* BasiliskII.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = BasiliskII.xcodeproj; sourceTree = ""; }; + 7539E00A1F23B25A006B2DF2 /* Credits.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Credits.html; sourceTree = ""; }; + 7539E0101F23B25A006B2DF2 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 7539E0141F23B25A006B2DF2 /* HowTo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = HowTo.html; sourceTree = ""; }; + 7539E02B1F23B25A006B2DF2 /* ToDo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = ToDo.html; sourceTree = ""; }; + 7539E02E1F23B25A006B2DF2 /* Versions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Versions.html; sourceTree = ""; }; + 7539E0651F23B25A006B2DF2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../main.cpp; sourceTree = ""; }; + 7539E0681F23B25A006B2DF2 /* pict.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pict.c; path = ../pict.c; sourceTree = ""; }; + 7539E06C1F23B25A006B2DF2 /* prefs_items.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = prefs_items.cpp; path = ../prefs_items.cpp; sourceTree = ""; }; + 7539E06D1F23B25A006B2DF2 /* prefs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = prefs.cpp; path = ../prefs.cpp; sourceTree = ""; }; + 7539E06E1F23B25A006B2DF2 /* rom_patches.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rom_patches.cpp; path = ../rom_patches.cpp; sourceTree = ""; }; + 7539E06F1F23B25A006B2DF2 /* rsrc_patches.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rsrc_patches.cpp; path = ../rsrc_patches.cpp; sourceTree = ""; }; + 7539E0701F23B25A006B2DF2 /* scsi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = scsi.cpp; path = ../scsi.cpp; sourceTree = ""; }; + 7539E0721F23B25A006B2DF2 /* audio_sdl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_sdl.cpp; sourceTree = ""; }; + 7539E0731F23B25A006B2DF2 /* keycodes */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = keycodes; sourceTree = ""; }; + 7539E0741F23B25A006B2DF2 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLMain.h; sourceTree = ""; }; + 7539E0751F23B25A006B2DF2 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLMain.m; sourceTree = ""; }; + 7539E0761F23B25A006B2DF2 /* video_sdl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = video_sdl.cpp; sourceTree = ""; }; + 7539E0771F23B25A006B2DF2 /* serial.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = serial.cpp; path = ../serial.cpp; sourceTree = ""; }; + 7539E0A21F23B25A006B2DF2 /* slot_rom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = slot_rom.cpp; path = ../slot_rom.cpp; sourceTree = ""; }; + 7539E0A31F23B25A006B2DF2 /* sony.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sony.cpp; path = ../sony.cpp; sourceTree = ""; }; + 7539E0A41F23B25A006B2DF2 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = timer.cpp; path = ../timer.cpp; sourceTree = ""; }; + 7539E0A61F23B25A006B2DF2 /* basilisk_glue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = basilisk_glue.cpp; sourceTree = ""; }; + 7539E0AB1F23B25A006B2DF2 /* compemu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compemu.h; sourceTree = ""; }; + 7539E0AE1F23B25A006B2DF2 /* flags_x86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flags_x86.h; sourceTree = ""; }; + 7539E0B11F23B25A006B2DF2 /* cpu_emulation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_emulation.h; sourceTree = ""; }; + 7539E0B41F23B25A006B2DF2 /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = core.h; sourceTree = ""; }; + 7539E0B51F23B25A006B2DF2 /* exceptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = exceptions.cpp; sourceTree = ""; }; + 7539E0B61F23B25A006B2DF2 /* exceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exceptions.h; sourceTree = ""; }; + 7539E0B71F23B25A006B2DF2 /* flags.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flags.cpp; sourceTree = ""; }; + 7539E0B81F23B25A006B2DF2 /* flags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flags.h; sourceTree = ""; }; + 7539E0B91F23B25A006B2DF2 /* fpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fpu.h; sourceTree = ""; }; + 7539E0BB1F23B25A006B2DF2 /* fpu_ieee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fpu_ieee.h; sourceTree = ""; }; + 7539E0BD1F23B25A006B2DF2 /* fpu_uae.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fpu_uae.h; sourceTree = ""; }; + 7539E0BF1F23B25A006B2DF2 /* fpu_x86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fpu_x86.h; sourceTree = ""; }; + 7539E0C01F23B25A006B2DF2 /* fpu_x86_asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fpu_x86_asm.h; sourceTree = ""; }; + 7539E0C11F23B25A006B2DF2 /* impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = impl.h; sourceTree = ""; }; + 7539E0C21F23B25A006B2DF2 /* mathlib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mathlib.cpp; sourceTree = ""; }; + 7539E0C31F23B25A006B2DF2 /* mathlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mathlib.h; sourceTree = ""; }; + 7539E0C41F23B25A006B2DF2 /* rounding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rounding.cpp; sourceTree = ""; }; + 7539E0C51F23B25A006B2DF2 /* rounding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rounding.h; sourceTree = ""; }; + 7539E0C61F23B25A006B2DF2 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + 7539E0C81F23B25A006B2DF2 /* m68k.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = m68k.h; sourceTree = ""; }; + 7539E0C91F23B25A006B2DF2 /* memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memory.cpp; sourceTree = ""; }; + 7539E0CA1F23B25A006B2DF2 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; }; + 7539E0CC1F23B25A006B2DF2 /* newcpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = newcpu.h; sourceTree = ""; }; + 7539E0CD1F23B25A006B2DF2 /* noflags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noflags.h; sourceTree = ""; }; + 7539E0CE1F23B25A006B2DF2 /* readcpu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = readcpu.cpp; sourceTree = ""; }; + 7539E0CF1F23B25A006B2DF2 /* readcpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = readcpu.h; sourceTree = ""; }; + 7539E0D01F23B25A006B2DF2 /* spcflags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spcflags.h; sourceTree = ""; }; + 7539E0D11F23B25A006B2DF2 /* table68k */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = table68k; sourceTree = ""; }; + 7539E1221F23B25A006B2DF2 /* user_strings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = user_strings.cpp; path = ../user_strings.cpp; sourceTree = ""; }; + 7539E1231F23B25A006B2DF2 /* video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = video.cpp; path = ../video.cpp; sourceTree = ""; }; + 7539E1241F23B25A006B2DF2 /* xpram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xpram.cpp; path = ../xpram.cpp; sourceTree = ""; }; + 7539E1E51F23B288006B2DF2 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; }; + 7539E1F01F23B329006B2DF2 /* bincue_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bincue_unix.cpp; sourceTree = ""; }; + 7539E1F11F23B329006B2DF2 /* bincue_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bincue_unix.h; sourceTree = ""; }; + 7539E1F81F23B329006B2DF2 /* gtk-osx.patch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "gtk-osx.patch"; sourceTree = ""; }; + 7539E1FA1F23B32A006B2DF2 /* mkstandalone */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = mkstandalone; sourceTree = ""; }; + 7539E1FC1F23B32A006B2DF2 /* testlmem.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = testlmem.sh; sourceTree = ""; }; + 7539E1FD1F23B32A006B2DF2 /* disk_sparsebundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disk_sparsebundle.cpp; sourceTree = ""; }; + 7539E1FE1F23B32A006B2DF2 /* disk_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disk_unix.h; sourceTree = ""; }; + 7539E2001F23B32A006B2DF2 /* extfs_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extfs_unix.cpp; sourceTree = ""; }; + 7539E2011F23B32A006B2DF2 /* fbdevices */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = fbdevices; sourceTree = ""; }; + 7539E2051F23B32A006B2DF2 /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = ""; }; + 7539E20A1F23B32A006B2DF2 /* keycodes */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = keycodes; sourceTree = ""; }; + 7539E20C1F23B32A006B2DF2 /* freebsd-i386.ld */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "freebsd-i386.ld"; sourceTree = ""; }; + 7539E20D1F23B32A006B2DF2 /* linux-i386.ld */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linux-i386.ld"; sourceTree = ""; }; + 7539E20E1F23B32A006B2DF2 /* linux-ppc.ld */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linux-ppc.ld"; sourceTree = ""; }; + 7539E20F1F23B32A006B2DF2 /* linux-x86_64.ld */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linux-x86_64.ld"; sourceTree = ""; }; + 7539E2181F23B32A006B2DF2 /* egrep.m4 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = egrep.m4; sourceTree = ""; }; + 7539E2191F23B32A006B2DF2 /* esd.m4 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = esd.m4; sourceTree = ""; }; + 7539E21A1F23B32A006B2DF2 /* gettext.m4 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gettext.m4; sourceTree = ""; }; + 7539E21B1F23B32A006B2DF2 /* gtk-2.0.m4 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "gtk-2.0.m4"; sourceTree = ""; }; + 7539E21C1F23B32A006B2DF2 /* gtk.m4 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gtk.m4; sourceTree = ""; }; + 7539E21E1F23B32A006B2DF2 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; + 7539E21F1F23B32A006B2DF2 /* mkinstalldirs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = mkinstalldirs; sourceTree = ""; }; + 7539E2231F23B32A006B2DF2 /* rpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rpc.h; sourceTree = ""; }; + 7539E2241F23B32A006B2DF2 /* rpc_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rpc_unix.cpp; sourceTree = ""; }; + 7539E2251F23B32A006B2DF2 /* semaphore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = semaphore.h; sourceTree = ""; }; + 7539E22A1F23B32A006B2DF2 /* sshpty.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sshpty.c; sourceTree = ""; }; + 7539E22B1F23B32A006B2DF2 /* sshpty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sshpty.h; sourceTree = ""; }; + 7539E22C1F23B32A006B2DF2 /* strlcpy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strlcpy.c; sourceTree = ""; }; + 7539E22D1F23B32A006B2DF2 /* strlcpy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strlcpy.h; sourceTree = ""; }; + 7539E22E1F23B32A006B2DF2 /* sys_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sys_unix.cpp; sourceTree = ""; }; + 7539E22F1F23B32A006B2DF2 /* sysdeps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysdeps.h; sourceTree = ""; }; + 7539E2301F23B32A006B2DF2 /* timer_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timer_unix.cpp; sourceTree = ""; }; + 7539E2311F23B32A006B2DF2 /* tinyxml2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml2.cpp; sourceTree = ""; }; + 7539E2321F23B32A006B2DF2 /* tinyxml2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml2.h; sourceTree = ""; }; + 7539E2331F23B32A006B2DF2 /* tunconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = tunconfig; sourceTree = ""; }; + 7539E2351F23B32A006B2DF2 /* user_strings_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user_strings_unix.h; sourceTree = ""; }; + 7539E2771F23B469006B2DF2 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = ""; }; + 7539E27E1F23BEB4006B2DF2 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 7539E27F1F23C4CA006B2DF2 /* main_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main_unix.cpp; sourceTree = ""; }; + 7539E2851F23C56F006B2DF2 /* clip_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = clip_dummy.cpp; sourceTree = ""; }; + 7539E2861F23C56F006B2DF2 /* ether_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ether_dummy.cpp; sourceTree = ""; }; + 7539E2871F23C56F006B2DF2 /* prefs_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = prefs_dummy.cpp; sourceTree = ""; }; + 7539E2881F23C56F006B2DF2 /* prefs_editor_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = prefs_editor_dummy.cpp; sourceTree = ""; }; + 7539E2891F23C56F006B2DF2 /* scsi_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scsi_dummy.cpp; sourceTree = ""; }; + 7539E28A1F23C56F006B2DF2 /* serial_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = serial_dummy.cpp; sourceTree = ""; }; + 7539E28B1F23C56F006B2DF2 /* user_strings_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = user_strings_dummy.cpp; sourceTree = ""; }; + 7539E28C1F23C56F006B2DF2 /* xpram_dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xpram_dummy.cpp; sourceTree = ""; }; + 7539E2961F23C5FD006B2DF2 /* newcpu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = newcpu.cpp; sourceTree = ""; }; + 7539E29C1F23C83F006B2DF2 /* sys_darwin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sys_darwin.cpp; sourceTree = ""; }; + 7539E29E1F23C939006B2DF2 /* fpu_uae.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fpu_uae.cpp; sourceTree = ""; }; + 7539E2A01F23CB9B006B2DF2 /* cpuemu_nf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpuemu_nf.cpp; sourceTree = ""; }; + 7539E2A11F23CB9B006B2DF2 /* cpuemu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpuemu.cpp; sourceTree = ""; }; + 7539E2A21F23CB9B006B2DF2 /* cpustbl_nf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpustbl_nf.cpp; sourceTree = ""; }; + 7539E2A31F23CB9B006B2DF2 /* cpustbl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpustbl.cpp; sourceTree = ""; }; + 7539E2A41F23CB9B006B2DF2 /* defs68k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = defs68k.c; sourceTree = ""; }; + 7539E2AA1F23CDB7006B2DF2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 7539DFAF1F23B17E006B2DF2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7539E27B1F23B488006B2DF2 /* SDL.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 7539DFA91F23B17E006B2DF2 = { + isa = PBXGroup; + children = ( + 7539E1E41F23B25E006B2DF2 /* src */, + 7539DFB41F23B17E006B2DF2 /* Assets */, + 7539DFB31F23B17E006B2DF2 /* Products */, + 7539E2771F23B469006B2DF2 /* SDL.framework */, + 7539E1E51F23B288006B2DF2 /* SDL2.framework */, + ); + sourceTree = ""; + }; + 7539DFB31F23B17E006B2DF2 /* Products */ = { + isa = PBXGroup; + children = ( + 7539DFB21F23B17E006B2DF2 /* BasiliskII.app */, + ); + name = Products; + sourceTree = ""; + }; + 7539DFB41F23B17E006B2DF2 /* Assets */ = { + isa = PBXGroup; + children = ( + 7539DFBE1F23B17E006B2DF2 /* Assets.xcassets */, + ); + name = Assets; + path = BasiliskII; + sourceTree = ""; + }; + 7539DFCC1F23B25A006B2DF2 /* CrossPlatform */ = { + isa = PBXGroup; + children = ( + 7539DFCD1F23B25A006B2DF2 /* sigsegv.cpp */, + 7539DFCE1F23B25A006B2DF2 /* sigsegv.h */, + 7539DFCF1F23B25A006B2DF2 /* video_blit.cpp */, + 7539DFD01F23B25A006B2DF2 /* video_blit.h */, + 7539DFD11F23B25A006B2DF2 /* video_vosf.h */, + 7539DFD21F23B25A006B2DF2 /* vm_alloc.cpp */, + 7539DFD31F23B25A006B2DF2 /* vm_alloc.h */, + ); + name = CrossPlatform; + path = ../CrossPlatform; + sourceTree = ""; + }; + 7539DFD81F23B25A006B2DF2 /* include */ = { + isa = PBXGroup; + children = ( + 7539DFD91F23B25A006B2DF2 /* adb.h */, + 7539DFDA1F23B25A006B2DF2 /* audio.h */, + 7539DFDB1F23B25A006B2DF2 /* audio_defs.h */, + 7539DFDC1F23B25A006B2DF2 /* cdrom.h */, + 7539DFDD1F23B25A006B2DF2 /* clip.h */, + 7539DFDE1F23B25A006B2DF2 /* debug.h */, + 7539DFDF1F23B25A006B2DF2 /* disk.h */, + 7539DFE01F23B25A006B2DF2 /* emul_op.h */, + 7539DFE11F23B25A006B2DF2 /* ether.h */, + 7539DFE21F23B25A006B2DF2 /* ether_defs.h */, + 7539DFE31F23B25A006B2DF2 /* extfs.h */, + 7539DFE41F23B25A006B2DF2 /* extfs_defs.h */, + 7539DFE51F23B25A006B2DF2 /* macos_util.h */, + 7539DFE61F23B25A006B2DF2 /* main.h */, + 7539DFE71F23B25A006B2DF2 /* pict.h */, + 7539DFE81F23B25A006B2DF2 /* prefs.h */, + 7539DFE91F23B25A006B2DF2 /* prefs_editor.h */, + 7539DFEA1F23B25A006B2DF2 /* rom_patches.h */, + 7539DFEB1F23B25A006B2DF2 /* rsrc_patches.h */, + 7539DFEC1F23B25A006B2DF2 /* scsi.h */, + 7539DFED1F23B25A006B2DF2 /* serial.h */, + 7539DFEE1F23B25A006B2DF2 /* serial_defs.h */, + 7539DFEF1F23B25A006B2DF2 /* slot_rom.h */, + 7539DFF01F23B25A006B2DF2 /* sony.h */, + 7539DFF11F23B25A006B2DF2 /* sys.h */, + 7539DFF21F23B25A006B2DF2 /* timer.h */, + 7539DFF31F23B25A006B2DF2 /* user_strings.h */, + 7539DFF41F23B25A006B2DF2 /* version.h */, + 7539DFF51F23B25A006B2DF2 /* video.h */, + 7539DFF61F23B25A006B2DF2 /* video_defs.h */, + 7539DFF71F23B25A006B2DF2 /* xpram.h */, + ); + name = include; + path = ../include; + sourceTree = ""; + }; + 7539DFF91F23B25A006B2DF2 /* MacOSX */ = { + isa = PBXGroup; + children = ( + 7539E2AA1F23CDB7006B2DF2 /* Info.plist */, + 7539E27E1F23BEB4006B2DF2 /* config.h */, + 7539DFFA1F23B25A006B2DF2 /* Assets.xcassets */, + 7539DFFB1F23B25A006B2DF2 /* audio_defs_macosx.h */, + 7539E0021F23B25A006B2DF2 /* BasiliskII.icns */, + 7539E0031F23B25A006B2DF2 /* BasiliskII.xcodeproj */, + 7539E00A1F23B25A006B2DF2 /* Credits.html */, + 7539E00F1F23B25A006B2DF2 /* InfoPlist.strings */, + 7539E0141F23B25A006B2DF2 /* HowTo.html */, + 7539E29C1F23C83F006B2DF2 /* sys_darwin.cpp */, + 7539E02B1F23B25A006B2DF2 /* ToDo.html */, + 7539E02E1F23B25A006B2DF2 /* Versions.html */, + ); + name = MacOSX; + sourceTree = ""; + }; + 7539E0041F23B25A006B2DF2 /* Products */ = { + isa = PBXGroup; + name = Products; + sourceTree = ""; + }; + 7539E0711F23B25A006B2DF2 /* SDL */ = { + isa = PBXGroup; + children = ( + 7539E0721F23B25A006B2DF2 /* audio_sdl.cpp */, + 7539E0731F23B25A006B2DF2 /* keycodes */, + 7539E0741F23B25A006B2DF2 /* SDLMain.h */, + 7539E0751F23B25A006B2DF2 /* SDLMain.m */, + 7539E0761F23B25A006B2DF2 /* video_sdl.cpp */, + ); + name = SDL; + path = ../SDL; + sourceTree = ""; + }; + 7539E0A51F23B25A006B2DF2 /* uae_cpu */ = { + isa = PBXGroup; + children = ( + 7539E0A61F23B25A006B2DF2 /* basilisk_glue.cpp */, + 7539E0A81F23B25A006B2DF2 /* compiler */, + 7539E0B11F23B25A006B2DF2 /* cpu_emulation.h */, + 7539E2A01F23CB9B006B2DF2 /* cpuemu_nf.cpp */, + 7539E2A11F23CB9B006B2DF2 /* cpuemu.cpp */, + 7539E2A21F23CB9B006B2DF2 /* cpustbl_nf.cpp */, + 7539E2A31F23CB9B006B2DF2 /* cpustbl.cpp */, + 7539E2A41F23CB9B006B2DF2 /* defs68k.c */, + 7539E0B31F23B25A006B2DF2 /* fpu */, + 7539E0C81F23B25A006B2DF2 /* m68k.h */, + 7539E0C91F23B25A006B2DF2 /* memory.cpp */, + 7539E0CA1F23B25A006B2DF2 /* memory.h */, + 7539E2961F23C5FD006B2DF2 /* newcpu.cpp */, + 7539E0CC1F23B25A006B2DF2 /* newcpu.h */, + 7539E0CD1F23B25A006B2DF2 /* noflags.h */, + 7539E0CE1F23B25A006B2DF2 /* readcpu.cpp */, + 7539E0CF1F23B25A006B2DF2 /* readcpu.h */, + 7539E0D01F23B25A006B2DF2 /* spcflags.h */, + 7539E0D11F23B25A006B2DF2 /* table68k */, + ); + name = uae_cpu; + path = ../uae_cpu; + sourceTree = ""; + }; + 7539E0A81F23B25A006B2DF2 /* compiler */ = { + isa = PBXGroup; + children = ( + 7539E0AB1F23B25A006B2DF2 /* compemu.h */, + 7539E0AE1F23B25A006B2DF2 /* flags_x86.h */, + ); + path = compiler; + sourceTree = ""; + }; + 7539E0B31F23B25A006B2DF2 /* fpu */ = { + isa = PBXGroup; + children = ( + 7539E29E1F23C939006B2DF2 /* fpu_uae.cpp */, + 7539E0B41F23B25A006B2DF2 /* core.h */, + 7539E0B51F23B25A006B2DF2 /* exceptions.cpp */, + 7539E0B61F23B25A006B2DF2 /* exceptions.h */, + 7539E0B71F23B25A006B2DF2 /* flags.cpp */, + 7539E0B81F23B25A006B2DF2 /* flags.h */, + 7539E0B91F23B25A006B2DF2 /* fpu.h */, + 7539E0BB1F23B25A006B2DF2 /* fpu_ieee.h */, + 7539E0BD1F23B25A006B2DF2 /* fpu_uae.h */, + 7539E0BF1F23B25A006B2DF2 /* fpu_x86.h */, + 7539E0C01F23B25A006B2DF2 /* fpu_x86_asm.h */, + 7539E0C11F23B25A006B2DF2 /* impl.h */, + 7539E0C21F23B25A006B2DF2 /* mathlib.cpp */, + 7539E0C31F23B25A006B2DF2 /* mathlib.h */, + 7539E0C41F23B25A006B2DF2 /* rounding.cpp */, + 7539E0C51F23B25A006B2DF2 /* rounding.h */, + 7539E0C61F23B25A006B2DF2 /* types.h */, + ); + path = fpu; + sourceTree = ""; + }; + 7539E1E41F23B25E006B2DF2 /* src */ = { + isa = PBXGroup; + children = ( + 7539DFC91F23B25A006B2DF2 /* adb.cpp */, + 7539DFCA1F23B25A006B2DF2 /* audio.cpp */, + 7539DFCB1F23B25A006B2DF2 /* cdrom.cpp */, + 7539DFCC1F23B25A006B2DF2 /* CrossPlatform */, + 7539DFD41F23B25A006B2DF2 /* disk.cpp */, + 7539E2811F23C52C006B2DF2 /* dummy */, + 7539DFD51F23B25A006B2DF2 /* emul_op.cpp */, + 7539DFD61F23B25A006B2DF2 /* ether.cpp */, + 7539DFD71F23B25A006B2DF2 /* extfs.cpp */, + 7539DFD81F23B25A006B2DF2 /* include */, + 7539DFF81F23B25A006B2DF2 /* macos_util.cpp */, + 7539DFF91F23B25A006B2DF2 /* MacOSX */, + 7539E0651F23B25A006B2DF2 /* main.cpp */, + 7539E0681F23B25A006B2DF2 /* pict.c */, + 7539E06C1F23B25A006B2DF2 /* prefs_items.cpp */, + 7539E06D1F23B25A006B2DF2 /* prefs.cpp */, + 7539E06E1F23B25A006B2DF2 /* rom_patches.cpp */, + 7539E06F1F23B25A006B2DF2 /* rsrc_patches.cpp */, + 7539E0701F23B25A006B2DF2 /* scsi.cpp */, + 7539E0711F23B25A006B2DF2 /* SDL */, + 7539E0771F23B25A006B2DF2 /* serial.cpp */, + 7539E0A21F23B25A006B2DF2 /* slot_rom.cpp */, + 7539E0A31F23B25A006B2DF2 /* sony.cpp */, + 7539E0A41F23B25A006B2DF2 /* timer.cpp */, + 7539E0A51F23B25A006B2DF2 /* uae_cpu */, + 7539E1E91F23B329006B2DF2 /* Unix */, + 7539E1221F23B25A006B2DF2 /* user_strings.cpp */, + 7539E1231F23B25A006B2DF2 /* video.cpp */, + 7539E1241F23B25A006B2DF2 /* xpram.cpp */, + ); + name = src; + sourceTree = ""; + }; + 7539E1E91F23B329006B2DF2 /* Unix */ = { + isa = PBXGroup; + children = ( + 7539E1F01F23B329006B2DF2 /* bincue_unix.cpp */, + 7539E1F11F23B329006B2DF2 /* bincue_unix.h */, + 7539E1F71F23B329006B2DF2 /* Darwin */, + 7539E1FD1F23B32A006B2DF2 /* disk_sparsebundle.cpp */, + 7539E1FE1F23B32A006B2DF2 /* disk_unix.h */, + 7539E2001F23B32A006B2DF2 /* extfs_unix.cpp */, + 7539E2011F23B32A006B2DF2 /* fbdevices */, + 7539E2051F23B32A006B2DF2 /* install-sh */, + 7539E20A1F23B32A006B2DF2 /* keycodes */, + 7539E20B1F23B32A006B2DF2 /* ldscripts */, + 7539E2171F23B32A006B2DF2 /* m4 */, + 7539E27F1F23C4CA006B2DF2 /* main_unix.cpp */, + 7539E21E1F23B32A006B2DF2 /* Makefile.in */, + 7539E21F1F23B32A006B2DF2 /* mkinstalldirs */, + 7539E2231F23B32A006B2DF2 /* rpc.h */, + 7539E2241F23B32A006B2DF2 /* rpc_unix.cpp */, + 7539E2251F23B32A006B2DF2 /* semaphore.h */, + 7539E22A1F23B32A006B2DF2 /* sshpty.c */, + 7539E22B1F23B32A006B2DF2 /* sshpty.h */, + 7539E22C1F23B32A006B2DF2 /* strlcpy.c */, + 7539E22D1F23B32A006B2DF2 /* strlcpy.h */, + 7539E22E1F23B32A006B2DF2 /* sys_unix.cpp */, + 7539E22F1F23B32A006B2DF2 /* sysdeps.h */, + 7539E2301F23B32A006B2DF2 /* timer_unix.cpp */, + 7539E2311F23B32A006B2DF2 /* tinyxml2.cpp */, + 7539E2321F23B32A006B2DF2 /* tinyxml2.h */, + 7539E2331F23B32A006B2DF2 /* tunconfig */, + 7539E2351F23B32A006B2DF2 /* user_strings_unix.h */, + ); + name = Unix; + path = ../Unix; + sourceTree = ""; + }; + 7539E1F71F23B329006B2DF2 /* Darwin */ = { + isa = PBXGroup; + children = ( + 7539E1F81F23B329006B2DF2 /* gtk-osx.patch */, + 7539E1FA1F23B32A006B2DF2 /* mkstandalone */, + 7539E1FC1F23B32A006B2DF2 /* testlmem.sh */, + ); + path = Darwin; + sourceTree = ""; + }; + 7539E20B1F23B32A006B2DF2 /* ldscripts */ = { + isa = PBXGroup; + children = ( + 7539E20C1F23B32A006B2DF2 /* freebsd-i386.ld */, + 7539E20D1F23B32A006B2DF2 /* linux-i386.ld */, + 7539E20E1F23B32A006B2DF2 /* linux-ppc.ld */, + 7539E20F1F23B32A006B2DF2 /* linux-x86_64.ld */, + ); + path = ldscripts; + sourceTree = ""; + }; + 7539E2171F23B32A006B2DF2 /* m4 */ = { + isa = PBXGroup; + children = ( + 7539E2181F23B32A006B2DF2 /* egrep.m4 */, + 7539E2191F23B32A006B2DF2 /* esd.m4 */, + 7539E21A1F23B32A006B2DF2 /* gettext.m4 */, + 7539E21B1F23B32A006B2DF2 /* gtk-2.0.m4 */, + 7539E21C1F23B32A006B2DF2 /* gtk.m4 */, + ); + path = m4; + sourceTree = ""; + }; + 7539E2811F23C52C006B2DF2 /* dummy */ = { + isa = PBXGroup; + children = ( + 7539E2851F23C56F006B2DF2 /* clip_dummy.cpp */, + 7539E2861F23C56F006B2DF2 /* ether_dummy.cpp */, + 7539E2871F23C56F006B2DF2 /* prefs_dummy.cpp */, + 7539E2881F23C56F006B2DF2 /* prefs_editor_dummy.cpp */, + 7539E2891F23C56F006B2DF2 /* scsi_dummy.cpp */, + 7539E28A1F23C56F006B2DF2 /* serial_dummy.cpp */, + 7539E28B1F23C56F006B2DF2 /* user_strings_dummy.cpp */, + 7539E28C1F23C56F006B2DF2 /* xpram_dummy.cpp */, + ); + name = dummy; + path = ../dummy; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7539DFB11F23B17E006B2DF2 /* BasiliskII */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7539DFC61F23B17E006B2DF2 /* Build configuration list for PBXNativeTarget "BasiliskII" */; + buildPhases = ( + 7539DFAE1F23B17E006B2DF2 /* Sources */, + 7539DFAF1F23B17E006B2DF2 /* Frameworks */, + 7539DFB01F23B17E006B2DF2 /* Resources */, + 7539E27D1F23B489006B2DF2 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = BasiliskII; + productName = BasiliskII; + productReference = 7539DFB21F23B17E006B2DF2 /* BasiliskII.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 7539DFAA1F23B17E006B2DF2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0830; + TargetAttributes = { + 7539DFB11F23B17E006B2DF2 = { + CreatedOnToolsVersion = 8.3.3; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 7539DFAD1F23B17E006B2DF2 /* Build configuration list for PBXProject "BasiliskII" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + English, + ); + mainGroup = 7539DFA91F23B17E006B2DF2; + productRefGroup = 7539DFB31F23B17E006B2DF2 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 7539E0041F23B25A006B2DF2 /* Products */; + ProjectRef = 7539E0031F23B25A006B2DF2 /* BasiliskII.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 7539DFB11F23B17E006B2DF2 /* BasiliskII */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 7539DFB01F23B17E006B2DF2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7539E25D1F23B32A006B2DF2 /* egrep.m4 in Resources */, + 7539E1A31F23B25A006B2DF2 /* table68k in Resources */, + 7539E1341F23B25A006B2DF2 /* BasiliskII.icns in Resources */, + 7539E2601F23B32A006B2DF2 /* gtk-2.0.m4 in Resources */, + 7539E2541F23B32A006B2DF2 /* keycodes in Resources */, + 7539E1381F23B25A006B2DF2 /* Credits.html in Resources */, + 7539E25E1F23B32A006B2DF2 /* esd.m4 in Resources */, + 7539E2631F23B32A006B2DF2 /* Makefile.in in Resources */, + 7539E2571F23B32A006B2DF2 /* linux-ppc.ld in Resources */, + 7539E24D1F23B32A006B2DF2 /* fbdevices in Resources */, + 7539E2501F23B32A006B2DF2 /* install-sh in Resources */, + 7539E1301F23B25A006B2DF2 /* Assets.xcassets in Resources */, + 7539E2641F23B32A006B2DF2 /* mkinstalldirs in Resources */, + 7539DFBF1F23B17E006B2DF2 /* Assets.xcassets in Resources */, + 7539E2581F23B32A006B2DF2 /* linux-x86_64.ld in Resources */, + 7539E2451F23B32A006B2DF2 /* gtk-osx.patch in Resources */, + 7539E2AB1F23CDB7006B2DF2 /* Info.plist in Resources */, + 7539E2471F23B32A006B2DF2 /* mkstandalone in Resources */, + 7539E14B1F23B25A006B2DF2 /* ToDo.html in Resources */, + 7539E13E1F23B25A006B2DF2 /* HowTo.html in Resources */, + 7539E1751F23B25A006B2DF2 /* keycodes in Resources */, + 7539E14D1F23B25A006B2DF2 /* Versions.html in Resources */, + 7539E2711F23B32A006B2DF2 /* tunconfig in Resources */, + 7539E2561F23B32A006B2DF2 /* linux-i386.ld in Resources */, + 7539E2551F23B32A006B2DF2 /* freebsd-i386.ld in Resources */, + 7539E13B1F23B25A006B2DF2 /* InfoPlist.strings in Resources */, + 7539E25F1F23B32A006B2DF2 /* gettext.m4 in Resources */, + 7539E2491F23B32A006B2DF2 /* testlmem.sh in Resources */, + 7539E2611F23B32A006B2DF2 /* gtk.m4 in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7539DFAE1F23B17E006B2DF2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7539E19E1F23B25A006B2DF2 /* rounding.cpp in Sources */, + 7539E29D1F23C83F006B2DF2 /* sys_darwin.cpp in Sources */, + 7539E1291F23B25A006B2DF2 /* video_blit.cpp in Sources */, + 7539E28E1F23C56F006B2DF2 /* clip_dummy.cpp in Sources */, + 7539E1A01F23B25A006B2DF2 /* memory.cpp in Sources */, + 7539E1741F23B25A006B2DF2 /* audio_sdl.cpp in Sources */, + 7539E1771F23B25A006B2DF2 /* video_sdl.cpp in Sources */, + 7539E29F1F23C939006B2DF2 /* fpu_uae.cpp in Sources */, + 7539E2A81F23CB9B006B2DF2 /* cpustbl.cpp in Sources */, + 7539E1E21F23B25A006B2DF2 /* video.cpp in Sources */, + 7539E18F1F23B25A006B2DF2 /* timer.cpp in Sources */, + 7539E2A71F23CB9B006B2DF2 /* cpustbl_nf.cpp in Sources */, + 7539E1711F23B25A006B2DF2 /* rom_patches.cpp in Sources */, + 7539E1281F23B25A006B2DF2 /* sigsegv.cpp in Sources */, + 7539E1761F23B25A006B2DF2 /* SDLMain.m in Sources */, + 7539E1A21F23B25A006B2DF2 /* readcpu.cpp in Sources */, + 7539E2701F23B32A006B2DF2 /* tinyxml2.cpp in Sources */, + 7539E28F1F23C56F006B2DF2 /* ether_dummy.cpp in Sources */, + 7539E1721F23B25A006B2DF2 /* rsrc_patches.cpp in Sources */, + 7539E2931F23C56F006B2DF2 /* serial_dummy.cpp in Sources */, + 7539E1981F23B25A006B2DF2 /* exceptions.cpp in Sources */, + 7539E1901F23B25A006B2DF2 /* basilisk_glue.cpp in Sources */, + 7539E2801F23C4CA006B2DF2 /* main_unix.cpp in Sources */, + 7539E2A61F23CB9B006B2DF2 /* cpuemu.cpp in Sources */, + 7539E1E11F23B25A006B2DF2 /* user_strings.cpp in Sources */, + 7539E2A51F23CB9B006B2DF2 /* cpuemu_nf.cpp in Sources */, + 7539E2971F23C5FD006B2DF2 /* newcpu.cpp in Sources */, + 7539E12A1F23B25A006B2DF2 /* vm_alloc.cpp in Sources */, + 7539E16C1F23B25A006B2DF2 /* main.cpp in Sources */, + 7539E2901F23C56F006B2DF2 /* prefs_dummy.cpp in Sources */, + 7539E26D1F23B32A006B2DF2 /* strlcpy.c in Sources */, + 7539E26E1F23B32A006B2DF2 /* sys_unix.cpp in Sources */, + 7539E1271F23B25A006B2DF2 /* cdrom.cpp in Sources */, + 7539E1261F23B25A006B2DF2 /* audio.cpp in Sources */, + 7539E1701F23B25A006B2DF2 /* prefs.cpp in Sources */, + 7539E12D1F23B25A006B2DF2 /* ether.cpp in Sources */, + 7539E26C1F23B32A006B2DF2 /* sshpty.c in Sources */, + 7539E1781F23B25A006B2DF2 /* serial.cpp in Sources */, + 7539E1991F23B25A006B2DF2 /* flags.cpp in Sources */, + 7539E2921F23C56F006B2DF2 /* scsi_dummy.cpp in Sources */, + 7539E16F1F23B25A006B2DF2 /* prefs_items.cpp in Sources */, + 7539E18E1F23B25A006B2DF2 /* sony.cpp in Sources */, + 7539E2951F23C56F006B2DF2 /* xpram_dummy.cpp in Sources */, + 7539E2941F23C56F006B2DF2 /* user_strings_dummy.cpp in Sources */, + 7539E26F1F23B32A006B2DF2 /* timer_unix.cpp in Sources */, + 7539E2A91F23CB9B006B2DF2 /* defs68k.c in Sources */, + 7539E12E1F23B25A006B2DF2 /* extfs.cpp in Sources */, + 7539E23F1F23B32A006B2DF2 /* bincue_unix.cpp in Sources */, + 7539E12C1F23B25A006B2DF2 /* emul_op.cpp in Sources */, + 7539E19D1F23B25A006B2DF2 /* mathlib.cpp in Sources */, + 7539E16D1F23B25A006B2DF2 /* pict.c in Sources */, + 7539E1251F23B25A006B2DF2 /* adb.cpp in Sources */, + 7539E12F1F23B25A006B2DF2 /* macos_util.cpp in Sources */, + 7539E24A1F23B32A006B2DF2 /* disk_sparsebundle.cpp in Sources */, + 7539E18D1F23B25A006B2DF2 /* slot_rom.cpp in Sources */, + 7539E1731F23B25A006B2DF2 /* scsi.cpp in Sources */, + 7539E12B1F23B25A006B2DF2 /* disk.cpp in Sources */, + 7539E1E31F23B25A006B2DF2 /* xpram.cpp in Sources */, + 7539E24C1F23B32A006B2DF2 /* extfs_unix.cpp in Sources */, + 7539E2681F23B32A006B2DF2 /* rpc_unix.cpp in Sources */, + 7539E2911F23C56F006B2DF2 /* prefs_editor_dummy.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 7539E00F1F23B25A006B2DF2 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7539E0101F23B25A006B2DF2 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 7539DFC41F23B17E006B2DF2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + /Library/Frameworks/SDL.framework/Headers, + ../UNIX, + ../include, + ., + ../uae_cpu, + ); + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 7539DFC51F23B17E006B2DF2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + /Library/Frameworks/SDL.framework/Headers, + ../UNIX, + ../include, + ., + ../uae_cpu, + ); + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + }; + name = Release; + }; + 7539DFC71F23B17E006B2DF2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.basiliskii.BasiliskII; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 7539DFC81F23B17E006B2DF2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(LOCAL_LIBRARY_DIR)/Frameworks", + ); + INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.basiliskii.BasiliskII; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 7539DFAD1F23B17E006B2DF2 /* Build configuration list for PBXProject "BasiliskII" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7539DFC41F23B17E006B2DF2 /* Debug */, + 7539DFC51F23B17E006B2DF2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7539DFC61F23B17E006B2DF2 /* Build configuration list for PBXNativeTarget "BasiliskII" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7539DFC71F23B17E006B2DF2 /* Debug */, + 7539DFC81F23B17E006B2DF2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 7539DFAA1F23B17E006B2DF2 /* Project object */; +} diff --git a/BasiliskII/src/MacOSX/BasiliskII.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/BasiliskII/src/MacOSX/BasiliskII.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..8c36dd88 --- /dev/null +++ b/BasiliskII/src/MacOSX/BasiliskII.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/BasiliskII/src/MacOSX/config.h b/BasiliskII/src/MacOSX/config.h new file mode 100644 index 00000000..e88fee35 --- /dev/null +++ b/BasiliskII/src/MacOSX/config.h @@ -0,0 +1,813 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define is using ESD. */ +/* #undef ENABLE_ESD */ + +/* Define if using DGA with framebuffer device. */ +/* #define ENABLE_FBDEV_DGA 1 */ + +/* Define if using GTK. */ +/* #undef ENABLE_GTK */ + +/* Define if using "mon". */ +/* #undef ENABLE_MON */ + +/* Define if using native 68k mode. */ +/* #undef ENABLE_NATIVE_M68K */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* Define if your system supports TUN/TAP devices. */ +/* #undef ENABLE_TUNTAP */ + +/* Define if using video enabled on SEGV signals. */ +/* #undef ENABLE_VOSF */ + +/* Define if using XFree86 DGA extension. */ +/* #undef ENABLE_XF86_DGA */ + +/* Define if using XFree86 DGA extension. */ +/* #define ENABLE_XF86_VIDMODE 1 */ + +/* Define to 1 if you have the `acoshl' function. */ +#define HAVE_ACOSHL 1 + +/* Define to 1 if you have the `acosl' function. */ +#define HAVE_ACOSL 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ARGZ_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the `asinhl' function. */ +#define HAVE_ASINHL 1 + +/* Define to 1 if you have the `asinl' function. */ +#define HAVE_ASINL 1 + +/* Define if your system has header. */ +/* #undef HAVE_ASM_UCONTEXT */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atanh' function. */ +#define HAVE_ATANH 1 + +/* Define to 1 if you have the `atanhl' function. */ +#define HAVE_ATANHL 1 + +/* Define to 1 if you have the `atanl' function. */ +#define HAVE_ATANL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_AVAILABILITYMACROS_H 1 + +/* Define to 1 if the system has the type `caddr_t'. */ +#define HAVE_CADDR_T 1 + +/* Define to 1 if you have the `ceill' function. */ +#define HAVE_CEILL 1 + +/* Define to 1 if you have the `cfmakeraw' function. */ +#define HAVE_CFMAKERAW 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `coshl' function. */ +#define HAVE_COSHL 1 + +/* Define to 1 if you have the `cosl' function. */ +#define HAVE_COSL 1 + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you + don't. */ +#define HAVE_DECL__SNPRINTF 0 + +/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you + don't. */ +#define HAVE_DECL__SNWPRINTF 0 + +/* Define if you have /dev/ptmx */ +/* #undef HAVE_DEV_PTMX */ + +/* Define if you have /dev/ptc */ +/* #undef HAVE_DEV_PTS_AND_PTC */ + +/* Define to 1 if you have the `expl' function. */ +#define HAVE_EXPL 1 + +/* Define to 1 if you have the `fabsl' function. */ +#define HAVE_FABSL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FLOATINGPOINT_H */ + +/* Define to 1 if you have the `floorl' function. */ +#define HAVE_FLOORL 1 + +/* Define if framework AppKit is available. */ +#define HAVE_FRAMEWORK_APPKIT 1 + +/* Define if framework Carbon is available. */ +#define HAVE_FRAMEWORK_CARBON 1 + +/* Define if framework CoreFoundation is available. */ +#define HAVE_FRAMEWORK_COREFOUNDATION 1 + +/* Define if framework IOKit is available. */ +#define HAVE_FRAMEWORK_IOKIT 1 + +/* Define if framework SDL is available. */ +/* #undef HAVE_FRAMEWORK_SDL */ + +/* Define to 1 if you have the `fwprintf' function. */ +#define HAVE_FWPRINTF 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getegid' function. */ +#define HAVE_GETEGID 1 + +/* Define to 1 if you have the `geteuid' function. */ +#define HAVE_GETEUID 1 + +/* Define to 1 if you have the `getgid' function. */ +#define HAVE_GETGID 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* Define to 1 if you have the `getuid' function. */ +#define HAVE_GETUID 1 + +/* Define if libgnomeui is available. */ +/* #undef HAVE_GNOMEUI */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_HISTORY_H */ + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IEEE754_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IEEEFP_H */ + +/* Define to 1 if you have the `inet_aton' function. */ +#define HAVE_INET_ATON 1 + +/* Define if you have the 'intmax_t' type in or . */ +#define HAVE_INTMAX_T 1 + +/* Define if exists and doesn't clash with . */ +#define HAVE_INTTYPES_H 1 + +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 + +/* Define to 1 if you have the header + file. */ +#define HAVE_IOKIT_STORAGE_IOBLOCKSTORAGEDEVICE_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Define to 1 if you have the `isnormal' function. */ +/* #undef HAVE_ISNORMAL */ + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define if your file defines LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `curses' library (-lcurses). */ +/* #undef HAVE_LIBCURSES */ + +/* Define to 1 if you have the `Hcurses' library (-lHcurses). */ +/* #undef HAVE_LIBHCURSES */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `ncurses' library (-lncurses). */ +/* #undef HAVE_LIBNCURSES */ + +/* Define to 1 if you have the `posix4' library (-lposix4). */ +/* #undef HAVE_LIBPOSIX4 */ + +/* Define to 1 if you have the `readline' library (-lreadline). */ +/* #undef HAVE_LIBREADLINE */ + +/* Define to 1 if you have the `rt' library (-lrt). */ +/* #undef HAVE_LIBRT */ + +/* Define to 1 if you have the `termcap' library (-ltermcap). */ +/* #undef HAVE_LIBTERMCAP */ + +/* Define to 1 if you have the `terminfo' library (-lterminfo). */ +/* #undef HAVE_LIBTERMINFO */ + +/* Define to 1 if you have the `termlib' library (-ltermlib). */ +/* #undef HAVE_LIBTERMLIB */ + +/* Define to 1 if you have the `vhd' library (-lvhd). */ +/* #undef HAVE_LIBVHD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if there is a linker script to relocate the executable above + 0x70000000. */ +/* #undef HAVE_LINKER_SCRIPT */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LINUX_IF_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LINUX_IF_TUN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if the system has the type `loff_t'. */ +/* #undef HAVE_LOFF_T */ + +/* Define to 1 if you have the `log10l' function. */ +#define HAVE_LOG10L 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LOGIN_H */ + +/* Define to 1 if you have the `logl' function. */ +#define HAVE_LOGL 1 + +/* Define if you have the 'long double' type. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define if you have the 'long long' type. */ +#define HAVE_LONG_LONG 1 + +/* Define if your system supports Mach exceptions. */ +#define HAVE_MACH_EXCEPTIONS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACH_MACH_H 1 + +/* Define to 1 if you have the `mach_task_self' function. */ +#define HAVE_MACH_TASK_SELF 1 + +/* Define if your system has a working vm_allocate()-based memory allocator. + */ +#define HAVE_MACH_VM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MALLOC_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define if defines MAP_ANON and mmap()'ing with MAP_ANON works. + */ +/* #undef HAVE_MMAP_ANON */ + +/* Define if defines MAP_ANONYMOUS and mmap()'ing with + MAP_ANONYMOUS works. */ +/* #undef HAVE_MMAP_ANONYMOUS */ + +/* Define if your system has a working mmap()-based memory allocator. */ +/* #undef HAVE_MMAP_VM */ + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 if you have the `munmap' function. */ +#define HAVE_MUNMAP 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NET_IF_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NET_IF_TUN_H */ + +/* Define if you are on NEWS-OS (additions from openssh-3.2.2p1, for + sshpty.c). */ +/* #undef HAVE_NEWS4 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define if your printf() function supports format strings with positions. */ +#define HAVE_POSIX_PRINTF 1 + +/* Define to 1 if you have the `powl' function. */ +#define HAVE_POWL 1 + +/* Define if pthreads are available. */ +#define HAVE_PTHREADS 1 + +/* Define to 1 if you have the `pthread_cancel' function. */ +#define HAVE_PTHREAD_CANCEL 1 + +/* Define to 1 if you have the `pthread_cond_init' function. */ +#define HAVE_PTHREAD_COND_INIT 1 + +/* Define to 1 if you have the `pthread_mutexattr_setprotocol' function. */ +#define HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL 1 + +/* Define to 1 if you have the `pthread_mutexattr_setpshared' function. */ +#define HAVE_PTHREAD_MUTEXATTR_SETPSHARED 1 + +/* Define to 1 if you have the `pthread_mutexattr_settype' function. */ +#define HAVE_PTHREAD_MUTEXATTR_SETTYPE 1 + +/* Define to 1 if you have the `pthread_testcancel' function. */ +#define HAVE_PTHREAD_TESTCANCEL 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_PTY_H */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_READLINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_READLINE_HISTORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_READLINE_READLINE_H 1 + +/* Define to 1 if you have the `sem_init' function. */ +#define HAVE_SEM_INIT 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setlocale' function. */ +#define HAVE_SETLOCALE 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define if we know a hack to replace siginfo_t->si_addr member. */ +/* #undef HAVE_SIGCONTEXT_SUBTERFUGE */ + +/* Define if your system supports extended signals. */ +/* #undef HAVE_SIGINFO_T */ +//#define HAVE_SIGINFO_T 1 + +/* Define to 1 if you have the `signal' function. */ +#define HAVE_SIGNAL 1 + +/* Define to 1 if you have the `signbit' function. */ +/* #undef HAVE_SIGNBIT */ + +/* Define if we can ignore the fault (instruction skipping in SIGSEGV + handler). */ +#define HAVE_SIGSEGV_SKIP_INSTRUCTION 1 + +/* Define to 1 if you have the `sinhl' function. */ +#define HAVE_SINHL 1 + +/* Define to 1 if you have the `sinl' function. */ +#define HAVE_SINL 1 + +/* Define if slirp library is supported */ +/* #define HAVE_SLIRP 1 */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `sqrtl' function. */ +#define HAVE_SQRTL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#define HAVE_STDINT_H_WITH_UINTMAX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STROPTS_H */ + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BITYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BSDTTY_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_POLL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_STROPTS_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `tanhl' function. */ +#define HAVE_TANHL 1 + +/* Define to 1 if you have the `tanl' function. */ +#define HAVE_TANL 1 + +/* Define to 1 if you have the `task_self' function. */ +/* #undef HAVE_TASK_SELF */ + +/* Define to 1 if you have the `timer_create' function. */ +/* #undef HAVE_TIMER_CREATE */ + +/* Define to 1 if you have the `tsearch' function. */ +#define HAVE_TSEARCH 1 + +/* Define if you have the 'uintmax_t' type in or . */ +#define HAVE_UINTMAX_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if you have the 'unsigned long long' type. */ +#define HAVE_UNSIGNED_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UTIL_H 1 + +/* Define to 1 if you have the `vhangup' function. */ +/* #undef HAVE_VHANGUP */ + +/* Define to 1 if you have the `vm_allocate' function. */ +#define HAVE_VM_ALLOCATE 1 + +/* Define to 1 if you have the `vm_deallocate' function. */ +#define HAVE_VM_DEALLOCATE 1 + +/* Define to 1 if you have the `vm_protect' function. */ +#define HAVE_VM_PROTECT 1 + +/* Define if you have the 'wchar_t' type. */ +#define HAVE_WCHAR_T 1 + +/* Define to 1 if you have the `wcslen' function. */ +#define HAVE_WCSLEN 1 + +/* Define if your system supports Windows exceptions. */ +/* #undef HAVE_WIN32_EXCEPTIONS */ + +/* Define if you have the 'wint_t' type. */ +#define HAVE_WINT_T 1 + +/* Define to 1 if you have the `_getpty' function. */ +/* #undef HAVE__GETPTY */ + +/* Define to 1 if you have the `__argz_count' function. */ +/* #undef HAVE___ARGZ_COUNT */ + +/* Define to 1 if you have the `__argz_next' function. */ +/* #undef HAVE___ARGZ_NEXT */ + +/* Define to 1 if you have the `__argz_stringify' function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define to the floating point format of the host machine. */ +#define HOST_FLOAT_FORMAT IEEE_FLOAT_FORMAT + +/* Define to 1 if the host machine stores floating point numbers in memory + with the word containing the sign bit at the lowest address, or to 0 if it + does it the other way around. This macro should not be defined if the + ordering is the same as for multi-word integers. */ +/* #undef HOST_FLOAT_WORDS_BIG_ENDIAN */ + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST + +/* Define if integer division by zero raises signal SIGFPE. */ +#define INTDIV0_RAISES_SIGFPE 0 + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define this program name. */ +#define PACKAGE "Basilisk II" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "Christian.Bauer@uni-mainz.de" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Basilisk II" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Basilisk II 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "BasiliskII" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* Define if the __PAGEZERO Mach-O Low Memory Globals hack works on this + system. */ +/* #undef PAGEZERO_HACK */ + +/* Define if exists and defines unusable PRI* macros. */ +/* #undef PRI_MACROS_BROKEN */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* Define if your system requires sigactions to be reinstalled. */ +/* #undef SIGACTION_NEED_REINSTALL */ + +/* Define if your system requires signals to be reinstalled. */ +/* #undef SIGNAL_NEED_REINSTALL */ + +/* The size of `double', as computed by sizeof. */ +#define SIZEOF_DOUBLE 8 + +/* The size of `float', as computed by sizeof. */ +#define SIZEOF_FLOAT 4 + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long double', as computed by sizeof. */ +#define SIZEOF_LONG_DOUBLE 16 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of `short', as computed by sizeof. */ +#define SIZEOF_SHORT 2 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + +/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +/* #undef SIZE_MAX */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define if BSD-style non-blocking I/O is to be used */ +/* #undef USE_FIONBIO */ + +/* Define to enble SDL support */ +#define USE_SDL 1 + +/* Define to enable SDL audio support */ +#define USE_SDL_AUDIO 1 + +/* Define to enable SDL video graphics support */ +#define USE_SDL_VIDEO 1 + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define this program version. */ +#define VERSION "1.0" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if the X Window System is missing or not being used. */ +/* #undef X_DISPLAY_MISSING */ + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to 1 if on MINIX. */ +/* #undef _MINIX */ + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define as the type of the result of subtracting two pointers, if the system + doesn't define it. */ +/* #undef ptrdiff_t */ + +/* Define to empty if the C compiler doesn't support this keyword. */ +/* #undef signed */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to 'int' if doesn't define. */ +/* #undef socklen_t */ + +/* Define to unsigned long or unsigned long long if and + don't define. */ +/* #undef uintmax_t */ + +#define FPU_UAE 1 +//#define FPU_IMPLEMENTATION 1 + diff --git a/BasiliskII/src/SDL/video_sdl.cpp b/BasiliskII/src/SDL/video_sdl.cpp index 798ed8e8..99f3bfa6 100644 --- a/BasiliskII/src/SDL/video_sdl.cpp +++ b/BasiliskII/src/SDL/video_sdl.cpp @@ -51,7 +51,7 @@ #include /* alloca() */ #endif -#include "cpu_emulation.h" +#include #include "main.h" #include "adb.h" #include "macos_util.h" @@ -87,6 +87,8 @@ static int display_type = DISPLAY_WINDOW; // See enum above // Constants #ifdef WIN32 const char KEYCODE_FILE_NAME[] = "BasiliskII_keycodes"; +#elif __MACOSX__ +const char KEYCODE_FILE_NAME[] = "BasiliskII_keycodes"; #else const char KEYCODE_FILE_NAME[] = DATADIR "/keycodes"; #endif @@ -195,6 +197,9 @@ extern void SysMountFirstFloppy(void); static void *vm_acquire_framebuffer(uint32 size) { +#if __MACOSX__ + return calloc(1, size); +#else // always try to reallocate framebuffer at the same address static void *fb = VM_MAP_FAILED; if (fb != VM_MAP_FAILED) { @@ -208,11 +213,16 @@ static void *vm_acquire_framebuffer(uint32 size) if (fb == VM_MAP_FAILED) fb = vm_acquire(size, VM_MAP_DEFAULT | VM_MAP_32BIT); return fb; +#endif } static inline void vm_release_framebuffer(void *fb, uint32 size) { +#if __MACOSX__ + free(fb); +#else vm_release(fb, size); +#endif } static inline int get_customized_color_depth(int default_depth) @@ -1841,6 +1851,43 @@ static void handle_events(void) // Static display update (fixed frame rate, but incremental) static void update_display_static(driver_base *drv) { + // Lock surface, if required + if (SDL_MUSTLOCK(drv->s)) + SDL_LockSurface(drv->s); + + const VIDEO_MODE &mode = drv->mode; + + memcpy(the_buffer_copy, the_buffer, the_buffer_size); + + // HACK: Create a temporary surface, with which to use in color conversion + SDL_Surface * mid_surface = NULL; + switch (mode.depth) { + case VDEPTH_1BIT: { + const int pixels_per_byte = VIDEO_MODE_X / VIDEO_MODE_ROW_BYTES; + mid_surface = SDL_CreateRGBSurfaceFrom(the_buffer_copy, VIDEO_MODE_X, VIDEO_MODE_Y, 1, (VIDEO_MODE_X / pixels_per_byte), 1, 1, 1, 0); + } break; + + // Consider using Screen_blit, for other depths + + default: { + printf("WARNING: Unhandled depth mode in SDL backend: %s\n", NameOfDepth(mode.depth)); + } break; + } + + // Blit to screen surface + if (mid_surface) { + SDL_BlitSurface(mid_surface, NULL, drv->s, NULL); + SDL_FreeSurface(mid_surface); + } + + // Unlock surface, if required + if (SDL_MUSTLOCK(drv->s)) + SDL_UnlockSurface(drv->s); + + // Refresh display + SDL_UpdateRect(drv->s, 0, 0, 0, 0); + +/* // Incremental update code int wide = 0, high = 0; uint32 x1, x2, y1, y2; @@ -1984,6 +2031,7 @@ static void update_display_static(driver_base *drv) } } } + */ } // Static display update (fixed frame rate, bounding boxes based) @@ -2044,7 +2092,7 @@ static void update_display_static_bbox(driver_base *drv) // Refresh display if (nr_boxes) SDL_UpdateRects(drv->s, nr_boxes, boxes); -} + } // We suggest the compiler to inline the next two functions so that it diff --git a/BasiliskII/src/Unix/bincue_unix.cpp b/BasiliskII/src/Unix/bincue_unix.cpp index b20b8543..612cf790 100644 --- a/BasiliskII/src/Unix/bincue_unix.cpp +++ b/BasiliskII/src/Unix/bincue_unix.cpp @@ -526,6 +526,7 @@ loff_t size_bincue(void *fh) if (fh) { return ((CueSheet *)fh)->length * COOKED_SECTOR_SIZE; } + return 0; } bool readtoc_bincue(void *fh, unsigned char *toc) @@ -564,6 +565,7 @@ bool readtoc_bincue(void *fh, unsigned char *toc) *toc++ = toc_size & 0xff; return true; } + return false; } bool GetPosition_bincue(void *fh, uint8 *pos) diff --git a/BasiliskII/src/Unix/main_unix.cpp b/BasiliskII/src/Unix/main_unix.cpp index 3505335e..1f03b9a0 100644 --- a/BasiliskII/src/Unix/main_unix.cpp +++ b/BasiliskII/src/Unix/main_unix.cpp @@ -426,6 +426,10 @@ int main(int argc, char **argv) } else if (strcmp(argv[i], "--rominfo") == 0) { argv[i] = NULL; PrintROMInfo = true; + } else if (strcmp(argv[i], "-NSDocumentRevisionsDebugMode") == 0) { + // HACK: prevent Basilisk from exiting, when run via Xcode 8, which + // passes in a '-NSDocumentRevisionsDebugMode' option. + argv[i] = NULL; } } diff --git a/BasiliskII/src/Unix/timer_unix.cpp b/BasiliskII/src/Unix/timer_unix.cpp index 9e227d02..ea197e51 100644 --- a/BasiliskII/src/Unix/timer_unix.cpp +++ b/BasiliskII/src/Unix/timer_unix.cpp @@ -45,7 +45,7 @@ static inline void mach_current_time(tm_time_t &t) { host_clock_inited = true; } - clock_get_time(host_clock, &t); + clock_get_time(host_clock, (mach_timespec_t *)&t); } #endif diff --git a/BasiliskII/src/dummy/prefs_dummy.cpp b/BasiliskII/src/dummy/prefs_dummy.cpp index 84dd31ec..1b33489c 100644 --- a/BasiliskII/src/dummy/prefs_dummy.cpp +++ b/BasiliskII/src/dummy/prefs_dummy.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "prefs.h" @@ -33,14 +34,20 @@ prefs_desc platform_prefs_items[] = { // Prefs file name and path +#if defined(__APPLE__) && defined(__MACH__) +const char PREFS_FILE_NAME[] = "/tmp/BasiliskII/BasiliskII_Prefs"; // HACK: for now, just load stuff from a fixed dir, inside /tmp +#else const char PREFS_FILE_NAME[] = "BasiliskII_Prefs"; +#endif + +std::string UserPrefsPath; /* * Load preferences from settings file */ -void LoadPrefs(void) +void LoadPrefs(const char * vmdir) // TODO: load prefs from 'vmdir' { // Read preferences from settings file FILE *f = fopen(PREFS_FILE_NAME, "r"); diff --git a/BasiliskII/src/dummy/user_strings_dummy.cpp b/BasiliskII/src/dummy/user_strings_dummy.cpp index 5f97823d..2ff2ead7 100644 --- a/BasiliskII/src/dummy/user_strings_dummy.cpp +++ b/BasiliskII/src/dummy/user_strings_dummy.cpp @@ -23,7 +23,7 @@ // Platform-specific string definitions -const user_string_def platform_strings[] = { +user_string_def platform_strings[] = { {-1, NULL} // End marker }; @@ -32,7 +32,7 @@ const user_string_def platform_strings[] = { * Fetch pointer to string, given the string number */ -char *GetString(int num) +const char *GetString(int num) { // First search for platform-specific string int i = 0; diff --git a/BasiliskII/src/include/video.h b/BasiliskII/src/include/video.h index 78526e67..208881ba 100644 --- a/BasiliskII/src/include/video.h +++ b/BasiliskII/src/include/video.h @@ -76,6 +76,9 @@ inline video_depth DepthModeForPixelDepth(int depth) } } +// Returns the name of a video_depth, or an empty string if the depth is unknown +const char * NameOfDepth(video_depth depth); + // Return a bytes-per-row value (assuming no padding) for the specified depth and pixel width inline uint32 TrivialBytesPerRow(uint32 width, video_depth depth) { diff --git a/BasiliskII/src/uae_cpu/cpuemu.cpp b/BasiliskII/src/uae_cpu/cpuemu.cpp new file mode 100644 index 00000000..52a0dc9c --- /dev/null +++ b/BasiliskII/src/uae_cpu/cpuemu.cpp @@ -0,0 +1,45296 @@ +#include "sysdeps.h" +#include "m68k.h" +#include "memory.h" +#include "readcpu.h" +#include "newcpu.h" +#include "compiler/compemu.h" +#include "fpu/fpu.h" +#include "cputbl.h" +#define SET_CFLG_ALWAYS(x) SET_CFLG(x) +#define SET_NFLG_ALWAYS(x) SET_NFLG(x) +#define CPUFUNC_FF(x) x##_ff +#define CPUFUNC_NF(x) x##_nf +#define CPUFUNC(x) CPUFUNC_FF(x) +#ifdef NOFLAGS +# include "noflags.h" +#endif + +#ifdef _MSC_VER +#pragma warning(disable:4102) /* unreferenced label */ +#endif + +#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8) +#define PART_1 1 +#define PART_2 1 +#define PART_3 1 +#define PART_4 1 +#define PART_5 1 +#define PART_6 1 +#define PART_7 1 +#define PART_8 1 +#endif + +#ifdef PART_1 +void REGPARAM2 CPUFUNC(op_0_0)(uae_u32 opcode) /* OR.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10_0)(uae_u32 opcode) /* OR.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_18_0)(uae_u32 opcode) /* OR.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20_0)(uae_u32 opcode) /* OR.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_28_0)(uae_u32 opcode) /* OR.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30_0)(uae_u32 opcode) /* OR.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_38_0)(uae_u32 opcode) /* OR.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_39_0)(uae_u32 opcode) /* OR.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3c_0)(uae_u32 opcode) /* ORSR.B #.W */ +{ + cpuop_begin(); +{ MakeSR(); +{ uae_s16 src = get_iword(2); + src &= 0xFF; + regs.sr |= src; + MakeFromSR(); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40_0)(uae_u32 opcode) /* OR.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50_0)(uae_u32 opcode) /* OR.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_58_0)(uae_u32 opcode) /* OR.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_60_0)(uae_u32 opcode) /* OR.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_68_0)(uae_u32 opcode) /* OR.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_70_0)(uae_u32 opcode) /* OR.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_78_0)(uae_u32 opcode) /* OR.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_79_0)(uae_u32 opcode) /* OR.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_7c_0)(uae_u32 opcode) /* ORSR.W #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel18; } +{ MakeSR(); +{ uae_s16 src = get_iword(2); + regs.sr |= src; + MakeFromSR(); +}}}m68k_incpc(4); +endlabel18: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80_0)(uae_u32 opcode) /* OR.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90_0)(uae_u32 opcode) /* OR.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_98_0)(uae_u32 opcode) /* OR.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a0_0)(uae_u32 opcode) /* OR.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a8_0)(uae_u32 opcode) /* OR.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0_0)(uae_u32 opcode) /* OR.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b8_0)(uae_u32 opcode) /* OR.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b9_0)(uae_u32 opcode) /* OR.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0_0)(uae_u32 opcode) /* CHK2.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel27; } +} +}}}m68k_incpc(4); +endlabel27: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8_0)(uae_u32 opcode) /* CHK2.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel28; } +} +}}}m68k_incpc(6); +endlabel28: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_f0_0)(uae_u32 opcode) /* CHK2.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel29; } +} +}}}}endlabel29: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_f8_0)(uae_u32 opcode) /* CHK2.B #.W,(xxx).W */ +{ + cpuop_begin(); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel30; } +} +}}}m68k_incpc(6); +endlabel30: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_f9_0)(uae_u32 opcode) /* CHK2.B #.W,(xxx).L */ +{ + cpuop_begin(); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel31; } +} +}}}m68k_incpc(8); +endlabel31: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_fa_0)(uae_u32 opcode) /* CHK2.B #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel32; } +} +}}}m68k_incpc(6); +endlabel32: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_fb_0)(uae_u32 opcode) /* CHK2.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s8)get_byte(dsta); upper = (uae_s32)(uae_s8)get_byte(dsta+1); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s8)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel33; } +} +}}}}endlabel33: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_100_0)(uae_u32 opcode) /* BTST.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_108_0)(uae_u32 opcode) /* MVPMR.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr memp = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_u16 val = (get_byte(memp) << 8) + get_byte(memp + 2); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_110_0)(uae_u32 opcode) /* BTST.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_118_0)(uae_u32 opcode) /* BTST.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_120_0)(uae_u32 opcode) /* BTST.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_128_0)(uae_u32 opcode) /* BTST.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_130_0)(uae_u32 opcode) /* BTST.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_138_0)(uae_u32 opcode) /* BTST.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_139_0)(uae_u32 opcode) /* BTST.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13a_0)(uae_u32 opcode) /* BTST.B Dn,(d16,PC) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 2; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_getpc () + 2; + dsta += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13b_0)(uae_u32 opcode) /* BTST.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13c_0)(uae_u32 opcode) /* BTST.B Dn,#.B */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = get_ibyte(2); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_140_0)(uae_u32 opcode) /* BCHG.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + m68k_dreg(regs, dstreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_148_0)(uae_u32 opcode) /* MVPMR.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr memp = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_u32 val = (get_byte(memp) << 24) + (get_byte(memp + 2) << 16) + + (get_byte(memp + 4) << 8) + get_byte(memp + 6); + m68k_dreg(regs, dstreg) = (val); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_150_0)(uae_u32 opcode) /* BCHG.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_158_0)(uae_u32 opcode) /* BCHG.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_160_0)(uae_u32 opcode) /* BCHG.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_168_0)(uae_u32 opcode) /* BCHG.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_170_0)(uae_u32 opcode) /* BCHG.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_178_0)(uae_u32 opcode) /* BCHG.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_179_0)(uae_u32 opcode) /* BCHG.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_17a_0)(uae_u32 opcode) /* BCHG.B Dn,(d16,PC) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 2; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_getpc () + 2; + dsta += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_17b_0)(uae_u32 opcode) /* BCHG.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_180_0)(uae_u32 opcode) /* BCLR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + m68k_dreg(regs, dstreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_188_0)(uae_u32 opcode) /* MVPRM.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); + uaecptr memp = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + put_byte(memp, src >> 8); put_byte(memp + 2, src); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_190_0)(uae_u32 opcode) /* BCLR.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_198_0)(uae_u32 opcode) /* BCLR.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1a0_0)(uae_u32 opcode) /* BCLR.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1a8_0)(uae_u32 opcode) /* BCLR.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1b0_0)(uae_u32 opcode) /* BCLR.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1b8_0)(uae_u32 opcode) /* BCLR.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1b9_0)(uae_u32 opcode) /* BCLR.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1ba_0)(uae_u32 opcode) /* BCLR.B Dn,(d16,PC) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 2; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_getpc () + 2; + dsta += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1bb_0)(uae_u32 opcode) /* BCLR.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1c0_0)(uae_u32 opcode) /* BSET.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + m68k_dreg(regs, dstreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_1c8_0)(uae_u32 opcode) /* MVPRM.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); + uaecptr memp = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + put_byte(memp, src >> 24); put_byte(memp + 2, src >> 16); + put_byte(memp + 4, src >> 8); put_byte(memp + 6, src); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_1d0_0)(uae_u32 opcode) /* BSET.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1d8_0)(uae_u32 opcode) /* BSET.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1e0_0)(uae_u32 opcode) /* BSET.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1e8_0)(uae_u32 opcode) /* BSET.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1f0_0)(uae_u32 opcode) /* BSET.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1f8_0)(uae_u32 opcode) /* BSET.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1f9_0)(uae_u32 opcode) /* BSET.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1fa_0)(uae_u32 opcode) /* BSET.B Dn,(d16,PC) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 2; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_getpc () + 2; + dsta += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1fb_0)(uae_u32 opcode) /* BSET.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_200_0)(uae_u32 opcode) /* AND.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_210_0)(uae_u32 opcode) /* AND.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_218_0)(uae_u32 opcode) /* AND.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_220_0)(uae_u32 opcode) /* AND.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_228_0)(uae_u32 opcode) /* AND.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_230_0)(uae_u32 opcode) /* AND.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_238_0)(uae_u32 opcode) /* AND.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_239_0)(uae_u32 opcode) /* AND.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23c_0)(uae_u32 opcode) /* ANDSR.B #.W */ +{ + cpuop_begin(); +{ MakeSR(); +{ uae_s16 src = get_iword(2); + src |= 0xFF00; + regs.sr &= src; + MakeFromSR(); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_240_0)(uae_u32 opcode) /* AND.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_250_0)(uae_u32 opcode) /* AND.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_258_0)(uae_u32 opcode) /* AND.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_260_0)(uae_u32 opcode) /* AND.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_268_0)(uae_u32 opcode) /* AND.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_270_0)(uae_u32 opcode) /* AND.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_278_0)(uae_u32 opcode) /* AND.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_279_0)(uae_u32 opcode) /* AND.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_27c_0)(uae_u32 opcode) /* ANDSR.W #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel96; } +{ MakeSR(); +{ uae_s16 src = get_iword(2); + regs.sr &= src; + MakeFromSR(); +}}}m68k_incpc(4); +endlabel96: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_280_0)(uae_u32 opcode) /* AND.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_290_0)(uae_u32 opcode) /* AND.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_298_0)(uae_u32 opcode) /* AND.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2a0_0)(uae_u32 opcode) /* AND.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2a8_0)(uae_u32 opcode) /* AND.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2b0_0)(uae_u32 opcode) /* AND.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2b8_0)(uae_u32 opcode) /* AND.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2b9_0)(uae_u32 opcode) /* AND.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2d0_0)(uae_u32 opcode) /* CHK2.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel105; } +} +}}}m68k_incpc(4); +endlabel105: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2e8_0)(uae_u32 opcode) /* CHK2.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel106; } +} +}}}m68k_incpc(6); +endlabel106: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2f0_0)(uae_u32 opcode) /* CHK2.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel107; } +} +}}}}endlabel107: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2f8_0)(uae_u32 opcode) /* CHK2.W #.W,(xxx).W */ +{ + cpuop_begin(); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel108; } +} +}}}m68k_incpc(6); +endlabel108: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2f9_0)(uae_u32 opcode) /* CHK2.W #.W,(xxx).L */ +{ + cpuop_begin(); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel109; } +} +}}}m68k_incpc(8); +endlabel109: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2fa_0)(uae_u32 opcode) /* CHK2.W #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel110; } +} +}}}m68k_incpc(6); +endlabel110: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2fb_0)(uae_u32 opcode) /* CHK2.W #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=(uae_s32)(uae_s16)get_word(dsta); upper = (uae_s32)(uae_s16)get_word(dsta+2); + if ((extra & 0x8000) == 0) reg = (uae_s32)(uae_s16)reg; + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel111; } +} +}}}}endlabel111: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_400_0)(uae_u32 opcode) /* SUB.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_410_0)(uae_u32 opcode) /* SUB.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_418_0)(uae_u32 opcode) /* SUB.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_420_0)(uae_u32 opcode) /* SUB.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_428_0)(uae_u32 opcode) /* SUB.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_430_0)(uae_u32 opcode) /* SUB.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_438_0)(uae_u32 opcode) /* SUB.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_439_0)(uae_u32 opcode) /* SUB.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_440_0)(uae_u32 opcode) /* SUB.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_450_0)(uae_u32 opcode) /* SUB.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_458_0)(uae_u32 opcode) /* SUB.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_460_0)(uae_u32 opcode) /* SUB.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_468_0)(uae_u32 opcode) /* SUB.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_470_0)(uae_u32 opcode) /* SUB.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_478_0)(uae_u32 opcode) /* SUB.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_479_0)(uae_u32 opcode) /* SUB.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_480_0)(uae_u32 opcode) /* SUB.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_490_0)(uae_u32 opcode) /* SUB.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_498_0)(uae_u32 opcode) /* SUB.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a0_0)(uae_u32 opcode) /* SUB.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a8_0)(uae_u32 opcode) /* SUB.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4b0_0)(uae_u32 opcode) /* SUB.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4b8_0)(uae_u32 opcode) /* SUB.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4b9_0)(uae_u32 opcode) /* SUB.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4d0_0)(uae_u32 opcode) /* CHK2.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel136; } +} +}}}m68k_incpc(4); +endlabel136: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4e8_0)(uae_u32 opcode) /* CHK2.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel137; } +} +}}}m68k_incpc(6); +endlabel137: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4f0_0)(uae_u32 opcode) /* CHK2.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel138; } +} +}}}}endlabel138: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4f8_0)(uae_u32 opcode) /* CHK2.L #.W,(xxx).W */ +{ + cpuop_begin(); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel139; } +} +}}}m68k_incpc(6); +endlabel139: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4f9_0)(uae_u32 opcode) /* CHK2.L #.W,(xxx).L */ +{ + cpuop_begin(); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel140; } +} +}}}m68k_incpc(8); +endlabel140: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4fa_0)(uae_u32 opcode) /* CHK2.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel141; } +} +}}}m68k_incpc(6); +endlabel141: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4fb_0)(uae_u32 opcode) /* CHK2.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); + {uae_s32 upper,lower,reg = regs.regs[(extra >> 12) & 15]; + lower=get_long(dsta); upper = get_long(dsta+4); + SET_ZFLG (upper == reg || lower == reg); + SET_CFLG_ALWAYS (lower <= upper ? reg < lower || reg > upper : reg > upper || reg < lower); + if ((extra & 0x800) && GET_CFLG) { Exception(6,oldpc); goto endlabel142; } +} +}}}}endlabel142: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_600_0)(uae_u32 opcode) /* ADD.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_610_0)(uae_u32 opcode) /* ADD.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_618_0)(uae_u32 opcode) /* ADD.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_620_0)(uae_u32 opcode) /* ADD.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_628_0)(uae_u32 opcode) /* ADD.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_630_0)(uae_u32 opcode) /* ADD.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_638_0)(uae_u32 opcode) /* ADD.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_639_0)(uae_u32 opcode) /* ADD.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_640_0)(uae_u32 opcode) /* ADD.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_650_0)(uae_u32 opcode) /* ADD.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_658_0)(uae_u32 opcode) /* ADD.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_660_0)(uae_u32 opcode) /* ADD.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_668_0)(uae_u32 opcode) /* ADD.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_670_0)(uae_u32 opcode) /* ADD.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_678_0)(uae_u32 opcode) /* ADD.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_679_0)(uae_u32 opcode) /* ADD.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_680_0)(uae_u32 opcode) /* ADD.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_690_0)(uae_u32 opcode) /* ADD.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_698_0)(uae_u32 opcode) /* ADD.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6a0_0)(uae_u32 opcode) /* ADD.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6a8_0)(uae_u32 opcode) /* ADD.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6b0_0)(uae_u32 opcode) /* ADD.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6b8_0)(uae_u32 opcode) /* ADD.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6b9_0)(uae_u32 opcode) /* ADD.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6c0_0)(uae_u32 opcode) /* RTM.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6c8_0)(uae_u32 opcode) /* RTM.L An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6d0_0)(uae_u32 opcode) /* CALLM.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6e8_0)(uae_u32 opcode) /* CALLM.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6f0_0)(uae_u32 opcode) /* CALLM.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6f8_0)(uae_u32 opcode) /* CALLM.L (xxx).W */ +{ + cpuop_begin(); +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6f9_0)(uae_u32 opcode) /* CALLM.L (xxx).L */ +{ + cpuop_begin(); +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6fa_0)(uae_u32 opcode) /* CALLM.L (d16,PC) */ +{ + cpuop_begin(); +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6fb_0)(uae_u32 opcode) /* CALLM.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_800_0)(uae_u32 opcode) /* BTST.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_810_0)(uae_u32 opcode) /* BTST.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_818_0)(uae_u32 opcode) /* BTST.B #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_820_0)(uae_u32 opcode) /* BTST.B #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_828_0)(uae_u32 opcode) /* BTST.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_830_0)(uae_u32 opcode) /* BTST.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_838_0)(uae_u32 opcode) /* BTST.B #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_839_0)(uae_u32 opcode) /* BTST.B #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_83a_0)(uae_u32 opcode) /* BTST.B #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_83b_0)(uae_u32 opcode) /* BTST.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_83c_0)(uae_u32 opcode) /* BTST.B #.W,#.B */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uae_s8 dst = get_ibyte(4); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_840_0)(uae_u32 opcode) /* BCHG.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + m68k_dreg(regs, dstreg) = (dst); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_850_0)(uae_u32 opcode) /* BCHG.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_858_0)(uae_u32 opcode) /* BCHG.B #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_860_0)(uae_u32 opcode) /* BCHG.B #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_868_0)(uae_u32 opcode) /* BCHG.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_870_0)(uae_u32 opcode) /* BCHG.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_878_0)(uae_u32 opcode) /* BCHG.B #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_879_0)(uae_u32 opcode) /* BCHG.B #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_87a_0)(uae_u32 opcode) /* BCHG.B #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_87b_0)(uae_u32 opcode) /* BCHG.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_880_0)(uae_u32 opcode) /* BCLR.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + m68k_dreg(regs, dstreg) = (dst); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_890_0)(uae_u32 opcode) /* BCLR.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_898_0)(uae_u32 opcode) /* BCLR.B #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8a0_0)(uae_u32 opcode) /* BCLR.B #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8a8_0)(uae_u32 opcode) /* BCLR.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8b0_0)(uae_u32 opcode) /* BCLR.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8b8_0)(uae_u32 opcode) /* BCLR.B #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8b9_0)(uae_u32 opcode) /* BCLR.B #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8ba_0)(uae_u32 opcode) /* BCLR.B #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8bb_0)(uae_u32 opcode) /* BCLR.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8c0_0)(uae_u32 opcode) /* BSET.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= 31; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + m68k_dreg(regs, dstreg) = (dst); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8d0_0)(uae_u32 opcode) /* BSET.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8d8_0)(uae_u32 opcode) /* BSET.B #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8e0_0)(uae_u32 opcode) /* BSET.B #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8e8_0)(uae_u32 opcode) /* BSET.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8f0_0)(uae_u32 opcode) /* BSET.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8f8_0)(uae_u32 opcode) /* BSET.B #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8f9_0)(uae_u32 opcode) /* BSET.B #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8fa_0)(uae_u32 opcode) /* BSET.B #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8fb_0)(uae_u32 opcode) /* BSET.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a00_0)(uae_u32 opcode) /* EOR.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a10_0)(uae_u32 opcode) /* EOR.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a18_0)(uae_u32 opcode) /* EOR.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a20_0)(uae_u32 opcode) /* EOR.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a28_0)(uae_u32 opcode) /* EOR.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a30_0)(uae_u32 opcode) /* EOR.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a38_0)(uae_u32 opcode) /* EOR.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a39_0)(uae_u32 opcode) /* EOR.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a3c_0)(uae_u32 opcode) /* EORSR.B #.W */ +{ + cpuop_begin(); +{ MakeSR(); +{ uae_s16 src = get_iword(2); + src &= 0xFF; + regs.sr ^= src; + MakeFromSR(); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a40_0)(uae_u32 opcode) /* EOR.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a50_0)(uae_u32 opcode) /* EOR.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a58_0)(uae_u32 opcode) /* EOR.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a60_0)(uae_u32 opcode) /* EOR.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a68_0)(uae_u32 opcode) /* EOR.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a70_0)(uae_u32 opcode) /* EOR.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a78_0)(uae_u32 opcode) /* EOR.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a79_0)(uae_u32 opcode) /* EOR.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +#endif + +#ifdef PART_2 +void REGPARAM2 CPUFUNC(op_a7c_0)(uae_u32 opcode) /* EORSR.W #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel234; } +{ MakeSR(); +{ uae_s16 src = get_iword(2); + regs.sr ^= src; + MakeFromSR(); +}}}m68k_incpc(4); +endlabel234: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a80_0)(uae_u32 opcode) /* EOR.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a90_0)(uae_u32 opcode) /* EOR.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a98_0)(uae_u32 opcode) /* EOR.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_aa0_0)(uae_u32 opcode) /* EOR.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_aa8_0)(uae_u32 opcode) /* EOR.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ab0_0)(uae_u32 opcode) /* EOR.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ab8_0)(uae_u32 opcode) /* EOR.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ab9_0)(uae_u32 opcode) /* EOR.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ad0_0)(uae_u32 opcode) /* CAS.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ad8_0)(uae_u32 opcode) /* CAS.B #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ae0_0)(uae_u32 opcode) /* CAS.B #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ae8_0)(uae_u32 opcode) /* CAS.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_af0_0)(uae_u32 opcode) /* CAS.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_af8_0)(uae_u32 opcode) /* CAS.B #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_af9_0)(uae_u32 opcode) /* CAS.B #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s8)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(m68k_dreg(regs, rc))) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_byte(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c00_0)(uae_u32 opcode) /* CMP.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c10_0)(uae_u32 opcode) /* CMP.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c18_0)(uae_u32 opcode) /* CMP.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c20_0)(uae_u32 opcode) /* CMP.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c28_0)(uae_u32 opcode) /* CMP.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c30_0)(uae_u32 opcode) /* CMP.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c38_0)(uae_u32 opcode) /* CMP.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c39_0)(uae_u32 opcode) /* CMP.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c3a_0)(uae_u32 opcode) /* CMP.B #.B,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c3b_0)(uae_u32 opcode) /* CMP.B #.B,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c40_0)(uae_u32 opcode) /* CMP.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c50_0)(uae_u32 opcode) /* CMP.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c58_0)(uae_u32 opcode) /* CMP.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c60_0)(uae_u32 opcode) /* CMP.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c68_0)(uae_u32 opcode) /* CMP.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c70_0)(uae_u32 opcode) /* CMP.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c78_0)(uae_u32 opcode) /* CMP.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c79_0)(uae_u32 opcode) /* CMP.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c7a_0)(uae_u32 opcode) /* CMP.W #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c7b_0)(uae_u32 opcode) /* CMP.W #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c80_0)(uae_u32 opcode) /* CMP.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c90_0)(uae_u32 opcode) /* CMP.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c98_0)(uae_u32 opcode) /* CMP.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ca0_0)(uae_u32 opcode) /* CMP.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ca8_0)(uae_u32 opcode) /* CMP.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cb0_0)(uae_u32 opcode) /* CMP.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cb8_0)(uae_u32 opcode) /* CMP.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cb9_0)(uae_u32 opcode) /* CMP.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cba_0)(uae_u32 opcode) /* CMP.L #.L,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_getpc () + 6; + dsta += (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cbb_0)(uae_u32 opcode) /* CMP.L #.L,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cd0_0)(uae_u32 opcode) /* CAS.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cd8_0)(uae_u32 opcode) /* CAS.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ce0_0)(uae_u32 opcode) /* CAS.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ce8_0)(uae_u32 opcode) /* CAS.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cf0_0)(uae_u32 opcode) /* CAS.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cf8_0)(uae_u32 opcode) /* CAS.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s16 dst = get_word(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cf9_0)(uae_u32 opcode) /* CAS.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s16 dst = get_word(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, rc))) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_word(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cfc_0)(uae_u32 opcode) /* CAS2.W #.L */ +{ + cpuop_begin(); +{{ uae_s32 extra = get_ilong(2); + uae_u32 rn1 = regs.regs[(extra >> 28) & 15]; + uae_u32 rn2 = regs.regs[(extra >> 12) & 15]; + uae_u16 dst1 = get_word(rn1), dst2 = get_word(rn2); +{uae_u32 newv = ((uae_s16)(dst1)) - ((uae_s16)(m68k_dreg(regs, (extra >> 16) & 7))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, (extra >> 16) & 7))) < 0; + int flgo = ((uae_s16)(dst1)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, (extra >> 16) & 7))) > ((uae_u16)(dst1))); + SET_NFLG (flgn != 0); + if (GET_ZFLG) { +{uae_u32 newv = ((uae_s16)(dst2)) - ((uae_s16)(m68k_dreg(regs, extra & 7))); +{ int flgs = ((uae_s16)(m68k_dreg(regs, extra & 7))) < 0; + int flgo = ((uae_s16)(dst2)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(m68k_dreg(regs, extra & 7))) > ((uae_u16)(dst2))); + SET_NFLG (flgn != 0); + if (GET_ZFLG) { + put_word(rn1, m68k_dreg(regs, (extra >> 22) & 7)); + put_word(rn1, m68k_dreg(regs, (extra >> 6) & 7)); + }} +}}}} if (! GET_ZFLG) { + m68k_dreg(regs, (extra >> 22) & 7) = (m68k_dreg(regs, (extra >> 22) & 7) & ~0xffff) | (dst1 & 0xffff); + m68k_dreg(regs, (extra >> 6) & 7) = (m68k_dreg(regs, (extra >> 6) & 7) & ~0xffff) | (dst2 & 0xffff); + } +}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e10_0)(uae_u32 opcode) /* MOVES.B #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel288; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + put_byte(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_s8 src = get_byte(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}m68k_incpc(4); +endlabel288: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e18_0)(uae_u32 opcode) /* MOVES.B #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel289; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + put_byte(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}m68k_incpc(4); +endlabel289: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e20_0)(uae_u32 opcode) /* MOVES.B #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel290; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + put_byte(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, dstreg) = srca; + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}m68k_incpc(4); +endlabel290: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e28_0)(uae_u32 opcode) /* MOVES.B #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel291; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + put_byte(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s8 src = get_byte(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}m68k_incpc(8); +endlabel291: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e30_0)(uae_u32 opcode) /* MOVES.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel292; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + put_byte(dsta,src); +}}}else{{{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 src = get_byte(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}}endlabel292: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e38_0)(uae_u32 opcode) /* MOVES.B #.W,(xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel293; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + put_byte(dsta,src); +}}else{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(6); +{ uae_s8 src = get_byte(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}m68k_incpc(8); +endlabel293: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e39_0)(uae_u32 opcode) /* MOVES.B #.W,(xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel294; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = get_ilong(4); + put_byte(dsta,src); +}}else{{ uaecptr srca = get_ilong(8); +{ uae_s8 src = get_byte(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s8)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xff) | ((src) & 0xff); + } +}}}}}}m68k_incpc(12); +endlabel294: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e50_0)(uae_u32 opcode) /* MOVES.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel295; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + put_word(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_s16 src = get_word(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}m68k_incpc(4); +endlabel295: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e58_0)(uae_u32 opcode) /* MOVES.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel296; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + put_word(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, dstreg) += 2; + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}m68k_incpc(4); +endlabel296: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e60_0)(uae_u32 opcode) /* MOVES.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel297; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + put_word(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, dstreg) = srca; + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}m68k_incpc(4); +endlabel297: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e68_0)(uae_u32 opcode) /* MOVES.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel298; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + put_word(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s16 src = get_word(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}m68k_incpc(8); +endlabel298: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e70_0)(uae_u32 opcode) /* MOVES.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel299; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + put_word(dsta,src); +}}}else{{{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 src = get_word(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}}endlabel299: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e78_0)(uae_u32 opcode) /* MOVES.W #.W,(xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel300; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + put_word(dsta,src); +}}else{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(6); +{ uae_s16 src = get_word(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}m68k_incpc(8); +endlabel300: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e79_0)(uae_u32 opcode) /* MOVES.W #.W,(xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel301; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = get_ilong(4); + put_word(dsta,src); +}}else{{ uaecptr srca = get_ilong(8); +{ uae_s16 src = get_word(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = (uae_s32)(uae_s16)src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (m68k_dreg(regs, (extra >> 12) & 7) & ~0xffff) | ((src) & 0xffff); + } +}}}}}}m68k_incpc(12); +endlabel301: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e90_0)(uae_u32 opcode) /* MOVES.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel302; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + put_long(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_s32 src = get_long(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}m68k_incpc(4); +endlabel302: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_e98_0)(uae_u32 opcode) /* MOVES.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel303; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + put_long(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, dstreg) += 4; + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}m68k_incpc(4); +endlabel303: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_ea0_0)(uae_u32 opcode) /* MOVES.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel304; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + put_long(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, dstreg) = srca; + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}m68k_incpc(4); +endlabel304: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_ea8_0)(uae_u32 opcode) /* MOVES.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel305; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + put_long(dsta,src); +}}else{{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 src = get_long(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}m68k_incpc(8); +endlabel305: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_eb0_0)(uae_u32 opcode) /* MOVES.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel306; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + put_long(dsta,src); +}}}else{{{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 src = get_long(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}}endlabel306: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_eb8_0)(uae_u32 opcode) /* MOVES.L #.W,(xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel307; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + put_long(dsta,src); +}}else{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(6); +{ uae_s32 src = get_long(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}m68k_incpc(8); +endlabel307: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_eb9_0)(uae_u32 opcode) /* MOVES.L #.W,(xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel308; } +{{ uae_s16 extra = get_iword(2); + if (extra & 0x800) +{ uae_u32 src = regs.regs[(extra >> 12) & 15]; +{ uaecptr dsta = get_ilong(4); + put_long(dsta,src); +}}else{{ uaecptr srca = get_ilong(8); +{ uae_s32 src = get_long(srca); + if (extra & 0x8000) { + m68k_areg(regs, (extra >> 12) & 7) = src; + } else { + m68k_dreg(regs, (extra >> 12) & 7) = (src); + } +}}}}}}m68k_incpc(12); +endlabel308: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_ed0_0)(uae_u32 opcode) /* CAS.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ed8_0)(uae_u32 opcode) /* CAS.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ee0_0)(uae_u32 opcode) /* CAS.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ee8_0)(uae_u32 opcode) /* CAS.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 dst = get_long(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ef0_0)(uae_u32 opcode) /* CAS.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ef8_0)(uae_u32 opcode) /* CAS.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 dst = get_long(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ef9_0)(uae_u32 opcode) /* CAS.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 dst = get_long(dsta); +{ int ru = (src >> 6) & 7; + int rc = src & 7; +{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(m68k_dreg(regs, rc))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, rc))) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, rc))) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); + if (GET_ZFLG){ put_long(dsta,(m68k_dreg(regs, ru))); +}else{m68k_dreg(regs, rc) = dst; +}}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_efc_0)(uae_u32 opcode) /* CAS2.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 extra = get_ilong(2); + uae_u32 rn1 = regs.regs[(extra >> 28) & 15]; + uae_u32 rn2 = regs.regs[(extra >> 12) & 15]; + uae_u32 dst1 = get_long(rn1), dst2 = get_long(rn2); +{uae_u32 newv = ((uae_s32)(dst1)) - ((uae_s32)(m68k_dreg(regs, (extra >> 16) & 7))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, (extra >> 16) & 7))) < 0; + int flgo = ((uae_s32)(dst1)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, (extra >> 16) & 7))) > ((uae_u32)(dst1))); + SET_NFLG (flgn != 0); + if (GET_ZFLG) { +{uae_u32 newv = ((uae_s32)(dst2)) - ((uae_s32)(m68k_dreg(regs, extra & 7))); +{ int flgs = ((uae_s32)(m68k_dreg(regs, extra & 7))) < 0; + int flgo = ((uae_s32)(dst2)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(m68k_dreg(regs, extra & 7))) > ((uae_u32)(dst2))); + SET_NFLG (flgn != 0); + if (GET_ZFLG) { + put_long(rn1, m68k_dreg(regs, (extra >> 22) & 7)); + put_long(rn1, m68k_dreg(regs, (extra >> 6) & 7)); + }} +}}}} if (! GET_ZFLG) { + m68k_dreg(regs, (extra >> 22) & 7) = dst1; + m68k_dreg(regs, (extra >> 6) & 7) = dst2; + } +}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1000_0)(uae_u32 opcode) /* MOVE.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1010_0)(uae_u32 opcode) /* MOVE.B (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1018_0)(uae_u32 opcode) /* MOVE.B (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1020_0)(uae_u32 opcode) /* MOVE.B -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1028_0)(uae_u32 opcode) /* MOVE.B (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1030_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1038_0)(uae_u32 opcode) /* MOVE.B (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1039_0)(uae_u32 opcode) /* MOVE.B (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_103a_0)(uae_u32 opcode) /* MOVE.B (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_103b_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_103c_0)(uae_u32 opcode) /* MOVE.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1080_0)(uae_u32 opcode) /* MOVE.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1090_0)(uae_u32 opcode) /* MOVE.B (An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1098_0)(uae_u32 opcode) /* MOVE.B (An)+,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10a0_0)(uae_u32 opcode) /* MOVE.B -(An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10a8_0)(uae_u32 opcode) /* MOVE.B (d16,An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10b0_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10b8_0)(uae_u32 opcode) /* MOVE.B (xxx).W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10b9_0)(uae_u32 opcode) /* MOVE.B (xxx).L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10ba_0)(uae_u32 opcode) /* MOVE.B (d16,PC),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10bb_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10bc_0)(uae_u32 opcode) /* MOVE.B #.B,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10c0_0)(uae_u32 opcode) /* MOVE.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10d0_0)(uae_u32 opcode) /* MOVE.B (An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10d8_0)(uae_u32 opcode) /* MOVE.B (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10e0_0)(uae_u32 opcode) /* MOVE.B -(An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10e8_0)(uae_u32 opcode) /* MOVE.B (d16,An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10f0_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10f8_0)(uae_u32 opcode) /* MOVE.B (xxx).W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10f9_0)(uae_u32 opcode) /* MOVE.B (xxx).L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10fa_0)(uae_u32 opcode) /* MOVE.B (d16,PC),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10fb_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10fc_0)(uae_u32 opcode) /* MOVE.B #.B,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1100_0)(uae_u32 opcode) /* MOVE.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1110_0)(uae_u32 opcode) /* MOVE.B (An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1118_0)(uae_u32 opcode) /* MOVE.B (An)+,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1120_0)(uae_u32 opcode) /* MOVE.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1128_0)(uae_u32 opcode) /* MOVE.B (d16,An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1130_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1138_0)(uae_u32 opcode) /* MOVE.B (xxx).W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1139_0)(uae_u32 opcode) /* MOVE.B (xxx).L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_113a_0)(uae_u32 opcode) /* MOVE.B (d16,PC),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_113b_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_113c_0)(uae_u32 opcode) /* MOVE.B #.B,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1140_0)(uae_u32 opcode) /* MOVE.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1150_0)(uae_u32 opcode) /* MOVE.B (An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1158_0)(uae_u32 opcode) /* MOVE.B (An)+,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1160_0)(uae_u32 opcode) /* MOVE.B -(An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1168_0)(uae_u32 opcode) /* MOVE.B (d16,An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1170_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1178_0)(uae_u32 opcode) /* MOVE.B (xxx).W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1179_0)(uae_u32 opcode) /* MOVE.B (xxx).L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_117a_0)(uae_u32 opcode) /* MOVE.B (d16,PC),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_117b_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_117c_0)(uae_u32 opcode) /* MOVE.B #.B,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1180_0)(uae_u32 opcode) /* MOVE.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1190_0)(uae_u32 opcode) /* MOVE.B (An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1198_0)(uae_u32 opcode) /* MOVE.B (An)+,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11a0_0)(uae_u32 opcode) /* MOVE.B -(An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11a8_0)(uae_u32 opcode) /* MOVE.B (d16,An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11b0_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11b8_0)(uae_u32 opcode) /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11b9_0)(uae_u32 opcode) /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11ba_0)(uae_u32 opcode) /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11bb_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11bc_0)(uae_u32 opcode) /* MOVE.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11c0_0)(uae_u32 opcode) /* MOVE.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11d0_0)(uae_u32 opcode) /* MOVE.B (An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11d8_0)(uae_u32 opcode) /* MOVE.B (An)+,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11e0_0)(uae_u32 opcode) /* MOVE.B -(An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11e8_0)(uae_u32 opcode) /* MOVE.B (d16,An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11f0_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11f8_0)(uae_u32 opcode) /* MOVE.B (xxx).W,(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11f9_0)(uae_u32 opcode) /* MOVE.B (xxx).L,(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11fa_0)(uae_u32 opcode) /* MOVE.B (d16,PC),(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11fb_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11fc_0)(uae_u32 opcode) /* MOVE.B #.B,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13c0_0)(uae_u32 opcode) /* MOVE.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13d0_0)(uae_u32 opcode) /* MOVE.B (An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13d8_0)(uae_u32 opcode) /* MOVE.B (An)+,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13e0_0)(uae_u32 opcode) /* MOVE.B -(An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13e8_0)(uae_u32 opcode) /* MOVE.B (d16,An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13f0_0)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13f8_0)(uae_u32 opcode) /* MOVE.B (xxx).W,(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13f9_0)(uae_u32 opcode) /* MOVE.B (xxx).L,(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13fa_0)(uae_u32 opcode) /* MOVE.B (d16,PC),(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13fb_0)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13fc_0)(uae_u32 opcode) /* MOVE.B #.B,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2000_0)(uae_u32 opcode) /* MOVE.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2008_0)(uae_u32 opcode) /* MOVE.L An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2010_0)(uae_u32 opcode) /* MOVE.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2018_0)(uae_u32 opcode) /* MOVE.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2020_0)(uae_u32 opcode) /* MOVE.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2028_0)(uae_u32 opcode) /* MOVE.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2030_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2038_0)(uae_u32 opcode) /* MOVE.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2039_0)(uae_u32 opcode) /* MOVE.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_203a_0)(uae_u32 opcode) /* MOVE.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_203b_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_203c_0)(uae_u32 opcode) /* MOVE.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2040_0)(uae_u32 opcode) /* MOVEA.L Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2048_0)(uae_u32 opcode) /* MOVEA.L An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2050_0)(uae_u32 opcode) /* MOVEA.L (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2058_0)(uae_u32 opcode) /* MOVEA.L (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2060_0)(uae_u32 opcode) /* MOVEA.L -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2068_0)(uae_u32 opcode) /* MOVEA.L (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2070_0)(uae_u32 opcode) /* MOVEA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2078_0)(uae_u32 opcode) /* MOVEA.L (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2079_0)(uae_u32 opcode) /* MOVEA.L (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_207a_0)(uae_u32 opcode) /* MOVEA.L (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_207b_0)(uae_u32 opcode) /* MOVEA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_207c_0)(uae_u32 opcode) /* MOVEA.L #.L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_2080_0)(uae_u32 opcode) /* MOVE.L Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2088_0)(uae_u32 opcode) /* MOVE.L An,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2090_0)(uae_u32 opcode) /* MOVE.L (An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2098_0)(uae_u32 opcode) /* MOVE.L (An)+,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20a0_0)(uae_u32 opcode) /* MOVE.L -(An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20a8_0)(uae_u32 opcode) /* MOVE.L (d16,An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20b0_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20b8_0)(uae_u32 opcode) /* MOVE.L (xxx).W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20b9_0)(uae_u32 opcode) /* MOVE.L (xxx).L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20ba_0)(uae_u32 opcode) /* MOVE.L (d16,PC),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20bb_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20bc_0)(uae_u32 opcode) /* MOVE.L #.L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20c0_0)(uae_u32 opcode) /* MOVE.L Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20c8_0)(uae_u32 opcode) /* MOVE.L An,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20d0_0)(uae_u32 opcode) /* MOVE.L (An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20d8_0)(uae_u32 opcode) /* MOVE.L (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20e0_0)(uae_u32 opcode) /* MOVE.L -(An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20e8_0)(uae_u32 opcode) /* MOVE.L (d16,An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20f0_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20f8_0)(uae_u32 opcode) /* MOVE.L (xxx).W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20f9_0)(uae_u32 opcode) /* MOVE.L (xxx).L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20fa_0)(uae_u32 opcode) /* MOVE.L (d16,PC),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20fb_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20fc_0)(uae_u32 opcode) /* MOVE.L #.L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2100_0)(uae_u32 opcode) /* MOVE.L Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2108_0)(uae_u32 opcode) /* MOVE.L An,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2110_0)(uae_u32 opcode) /* MOVE.L (An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2118_0)(uae_u32 opcode) /* MOVE.L (An)+,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2120_0)(uae_u32 opcode) /* MOVE.L -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2128_0)(uae_u32 opcode) /* MOVE.L (d16,An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2130_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2138_0)(uae_u32 opcode) /* MOVE.L (xxx).W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2139_0)(uae_u32 opcode) /* MOVE.L (xxx).L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_213a_0)(uae_u32 opcode) /* MOVE.L (d16,PC),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_213b_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_213c_0)(uae_u32 opcode) /* MOVE.L #.L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2140_0)(uae_u32 opcode) /* MOVE.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2148_0)(uae_u32 opcode) /* MOVE.L An,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2150_0)(uae_u32 opcode) /* MOVE.L (An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +#endif + +#ifdef PART_3 +void REGPARAM2 CPUFUNC(op_2158_0)(uae_u32 opcode) /* MOVE.L (An)+,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2160_0)(uae_u32 opcode) /* MOVE.L -(An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2168_0)(uae_u32 opcode) /* MOVE.L (d16,An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2170_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2178_0)(uae_u32 opcode) /* MOVE.L (xxx).W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2179_0)(uae_u32 opcode) /* MOVE.L (xxx).L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_217a_0)(uae_u32 opcode) /* MOVE.L (d16,PC),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_217b_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_217c_0)(uae_u32 opcode) /* MOVE.L #.L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2180_0)(uae_u32 opcode) /* MOVE.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2188_0)(uae_u32 opcode) /* MOVE.L An,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2190_0)(uae_u32 opcode) /* MOVE.L (An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2198_0)(uae_u32 opcode) /* MOVE.L (An)+,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21a0_0)(uae_u32 opcode) /* MOVE.L -(An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21a8_0)(uae_u32 opcode) /* MOVE.L (d16,An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21b0_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21b8_0)(uae_u32 opcode) /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21b9_0)(uae_u32 opcode) /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21ba_0)(uae_u32 opcode) /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21bb_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21bc_0)(uae_u32 opcode) /* MOVE.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21c0_0)(uae_u32 opcode) /* MOVE.L Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21c8_0)(uae_u32 opcode) /* MOVE.L An,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21d0_0)(uae_u32 opcode) /* MOVE.L (An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21d8_0)(uae_u32 opcode) /* MOVE.L (An)+,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21e0_0)(uae_u32 opcode) /* MOVE.L -(An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21e8_0)(uae_u32 opcode) /* MOVE.L (d16,An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21f0_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21f8_0)(uae_u32 opcode) /* MOVE.L (xxx).W,(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21f9_0)(uae_u32 opcode) /* MOVE.L (xxx).L,(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21fa_0)(uae_u32 opcode) /* MOVE.L (d16,PC),(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21fb_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21fc_0)(uae_u32 opcode) /* MOVE.L #.L,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23c0_0)(uae_u32 opcode) /* MOVE.L Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23c8_0)(uae_u32 opcode) /* MOVE.L An,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23d0_0)(uae_u32 opcode) /* MOVE.L (An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23d8_0)(uae_u32 opcode) /* MOVE.L (An)+,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23e0_0)(uae_u32 opcode) /* MOVE.L -(An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23e8_0)(uae_u32 opcode) /* MOVE.L (d16,An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23f0_0)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23f8_0)(uae_u32 opcode) /* MOVE.L (xxx).W,(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23f9_0)(uae_u32 opcode) /* MOVE.L (xxx).L,(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23fa_0)(uae_u32 opcode) /* MOVE.L (d16,PC),(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23fb_0)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23fc_0)(uae_u32 opcode) /* MOVE.L #.L,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_ilong(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3000_0)(uae_u32 opcode) /* MOVE.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3008_0)(uae_u32 opcode) /* MOVE.W An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3010_0)(uae_u32 opcode) /* MOVE.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3018_0)(uae_u32 opcode) /* MOVE.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3020_0)(uae_u32 opcode) /* MOVE.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3028_0)(uae_u32 opcode) /* MOVE.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3030_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3038_0)(uae_u32 opcode) /* MOVE.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3039_0)(uae_u32 opcode) /* MOVE.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_303a_0)(uae_u32 opcode) /* MOVE.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_303b_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_303c_0)(uae_u32 opcode) /* MOVE.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3040_0)(uae_u32 opcode) /* MOVEA.W Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3048_0)(uae_u32 opcode) /* MOVEA.W An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3050_0)(uae_u32 opcode) /* MOVEA.W (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3058_0)(uae_u32 opcode) /* MOVEA.W (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3060_0)(uae_u32 opcode) /* MOVEA.W -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3068_0)(uae_u32 opcode) /* MOVEA.W (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3070_0)(uae_u32 opcode) /* MOVEA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3078_0)(uae_u32 opcode) /* MOVEA.W (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3079_0)(uae_u32 opcode) /* MOVEA.W (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_307a_0)(uae_u32 opcode) /* MOVEA.W (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_307b_0)(uae_u32 opcode) /* MOVEA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_307c_0)(uae_u32 opcode) /* MOVEA.W #.W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_3080_0)(uae_u32 opcode) /* MOVE.W Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3088_0)(uae_u32 opcode) /* MOVE.W An,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3090_0)(uae_u32 opcode) /* MOVE.W (An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3098_0)(uae_u32 opcode) /* MOVE.W (An)+,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30a0_0)(uae_u32 opcode) /* MOVE.W -(An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30a8_0)(uae_u32 opcode) /* MOVE.W (d16,An),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30b0_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30b8_0)(uae_u32 opcode) /* MOVE.W (xxx).W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30b9_0)(uae_u32 opcode) /* MOVE.W (xxx).L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30ba_0)(uae_u32 opcode) /* MOVE.W (d16,PC),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30bb_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30bc_0)(uae_u32 opcode) /* MOVE.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30c0_0)(uae_u32 opcode) /* MOVE.W Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30c8_0)(uae_u32 opcode) /* MOVE.W An,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30d0_0)(uae_u32 opcode) /* MOVE.W (An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30d8_0)(uae_u32 opcode) /* MOVE.W (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30e0_0)(uae_u32 opcode) /* MOVE.W -(An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30e8_0)(uae_u32 opcode) /* MOVE.W (d16,An),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30f0_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30f8_0)(uae_u32 opcode) /* MOVE.W (xxx).W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30f9_0)(uae_u32 opcode) /* MOVE.W (xxx).L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30fa_0)(uae_u32 opcode) /* MOVE.W (d16,PC),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30fb_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30fc_0)(uae_u32 opcode) /* MOVE.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3100_0)(uae_u32 opcode) /* MOVE.W Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3108_0)(uae_u32 opcode) /* MOVE.W An,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3110_0)(uae_u32 opcode) /* MOVE.W (An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3118_0)(uae_u32 opcode) /* MOVE.W (An)+,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3120_0)(uae_u32 opcode) /* MOVE.W -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3128_0)(uae_u32 opcode) /* MOVE.W (d16,An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3130_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3138_0)(uae_u32 opcode) /* MOVE.W (xxx).W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3139_0)(uae_u32 opcode) /* MOVE.W (xxx).L,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_313a_0)(uae_u32 opcode) /* MOVE.W (d16,PC),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_313b_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_313c_0)(uae_u32 opcode) /* MOVE.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3140_0)(uae_u32 opcode) /* MOVE.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3148_0)(uae_u32 opcode) /* MOVE.W An,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3150_0)(uae_u32 opcode) /* MOVE.W (An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3158_0)(uae_u32 opcode) /* MOVE.W (An)+,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3160_0)(uae_u32 opcode) /* MOVE.W -(An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3168_0)(uae_u32 opcode) /* MOVE.W (d16,An),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3170_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3178_0)(uae_u32 opcode) /* MOVE.W (xxx).W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3179_0)(uae_u32 opcode) /* MOVE.W (xxx).L,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_317a_0)(uae_u32 opcode) /* MOVE.W (d16,PC),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_317b_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_317c_0)(uae_u32 opcode) /* MOVE.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3180_0)(uae_u32 opcode) /* MOVE.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3188_0)(uae_u32 opcode) /* MOVE.W An,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3190_0)(uae_u32 opcode) /* MOVE.W (An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3198_0)(uae_u32 opcode) /* MOVE.W (An)+,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31a0_0)(uae_u32 opcode) /* MOVE.W -(An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31a8_0)(uae_u32 opcode) /* MOVE.W (d16,An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31b0_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31b8_0)(uae_u32 opcode) /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31b9_0)(uae_u32 opcode) /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{m68k_incpc(6); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31ba_0)(uae_u32 opcode) /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31bb_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31bc_0)(uae_u32 opcode) /* MOVE.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31c0_0)(uae_u32 opcode) /* MOVE.W Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31c8_0)(uae_u32 opcode) /* MOVE.W An,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31d0_0)(uae_u32 opcode) /* MOVE.W (An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31d8_0)(uae_u32 opcode) /* MOVE.W (An)+,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31e0_0)(uae_u32 opcode) /* MOVE.W -(An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31e8_0)(uae_u32 opcode) /* MOVE.W (d16,An),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31f0_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31f8_0)(uae_u32 opcode) /* MOVE.W (xxx).W,(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31f9_0)(uae_u32 opcode) /* MOVE.W (xxx).L,(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31fa_0)(uae_u32 opcode) /* MOVE.W (d16,PC),(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31fb_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31fc_0)(uae_u32 opcode) /* MOVE.W #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33c0_0)(uae_u32 opcode) /* MOVE.W Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33c8_0)(uae_u32 opcode) /* MOVE.W An,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33d0_0)(uae_u32 opcode) /* MOVE.W (An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33d8_0)(uae_u32 opcode) /* MOVE.W (An)+,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33e0_0)(uae_u32 opcode) /* MOVE.W -(An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33e8_0)(uae_u32 opcode) /* MOVE.W (d16,An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33f0_0)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33f8_0)(uae_u32 opcode) /* MOVE.W (xxx).W,(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33f9_0)(uae_u32 opcode) /* MOVE.W (xxx).L,(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(6); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(10); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33fa_0)(uae_u32 opcode) /* MOVE.W (d16,PC),(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33fb_0)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(0); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33fc_0)(uae_u32 opcode) /* MOVE.W #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4000_0)(uae_u32 opcode) /* NEGX.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((newv) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4010_0)(uae_u32 opcode) /* NEGX.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4018_0)(uae_u32 opcode) /* NEGX.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4020_0)(uae_u32 opcode) /* NEGX.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4028_0)(uae_u32 opcode) /* NEGX.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4030_0)(uae_u32 opcode) /* NEGX.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4038_0)(uae_u32 opcode) /* NEGX.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4039_0)(uae_u32 opcode) /* NEGX.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4040_0)(uae_u32 opcode) /* NEGX.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((newv) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4050_0)(uae_u32 opcode) /* NEGX.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4058_0)(uae_u32 opcode) /* NEGX.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4060_0)(uae_u32 opcode) /* NEGX.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4068_0)(uae_u32 opcode) /* NEGX.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4070_0)(uae_u32 opcode) /* NEGX.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4078_0)(uae_u32 opcode) /* NEGX.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4079_0)(uae_u32 opcode) /* NEGX.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4080_0)(uae_u32 opcode) /* NEGX.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, srcreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4090_0)(uae_u32 opcode) /* NEGX.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4098_0)(uae_u32 opcode) /* NEGX.L (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40a0_0)(uae_u32 opcode) /* NEGX.L -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40a8_0)(uae_u32 opcode) /* NEGX.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40b0_0)(uae_u32 opcode) /* NEGX.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40b8_0)(uae_u32 opcode) /* NEGX.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40b9_0)(uae_u32 opcode) /* NEGX.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40c0_0)(uae_u32 opcode) /* MVSR2.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel645; } +{{ MakeSR(); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((regs.sr) & 0xffff); +}}}m68k_incpc(2); +endlabel645: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40d0_0)(uae_u32 opcode) /* MVSR2.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel646; } +{{ uaecptr srca = m68k_areg(regs, srcreg); + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(2); +endlabel646: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40d8_0)(uae_u32 opcode) /* MVSR2.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel647; } +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += 2; + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(2); +endlabel647: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40e0_0)(uae_u32 opcode) /* MVSR2.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel648; } +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; + m68k_areg (regs, srcreg) = srca; + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(2); +endlabel648: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40e8_0)(uae_u32 opcode) /* MVSR2.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel649; } +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(4); +endlabel649: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f0_0)(uae_u32 opcode) /* MVSR2.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel650; } +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + MakeSR(); + put_word(srca,regs.sr); +}}}}endlabel650: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f8_0)(uae_u32 opcode) /* MVSR2.W (xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel651; } +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(4); +endlabel651: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f9_0)(uae_u32 opcode) /* MVSR2.W (xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel652; } +{{ uaecptr srca = get_ilong(2); + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(6); +endlabel652: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4100_0)(uae_u32 opcode) /* CHK.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel653; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel653; } +}}}m68k_incpc(2); +endlabel653: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4110_0)(uae_u32 opcode) /* CHK.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel654; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel654; } +}}}}m68k_incpc(2); +endlabel654: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4118_0)(uae_u32 opcode) /* CHK.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel655; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel655; } +}}}}m68k_incpc(2); +endlabel655: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4120_0)(uae_u32 opcode) /* CHK.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel656; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel656; } +}}}}m68k_incpc(2); +endlabel656: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4128_0)(uae_u32 opcode) /* CHK.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel657; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel657; } +}}}}m68k_incpc(4); +endlabel657: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4130_0)(uae_u32 opcode) /* CHK.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel658; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel658; } +}}}}}endlabel658: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4138_0)(uae_u32 opcode) /* CHK.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel659; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel659; } +}}}}m68k_incpc(4); +endlabel659: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4139_0)(uae_u32 opcode) /* CHK.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel660; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel660; } +}}}}m68k_incpc(6); +endlabel660: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_413a_0)(uae_u32 opcode) /* CHK.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel661; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel661; } +}}}}m68k_incpc(4); +endlabel661: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_413b_0)(uae_u32 opcode) /* CHK.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel662; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel662; } +}}}}}endlabel662: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_413c_0)(uae_u32 opcode) /* CHK.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel663; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel663; } +}}}m68k_incpc(6); +endlabel663: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4180_0)(uae_u32 opcode) /* CHK.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel664; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel664; } +}}}m68k_incpc(2); +endlabel664: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4190_0)(uae_u32 opcode) /* CHK.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel665; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel665; } +}}}}m68k_incpc(2); +endlabel665: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4198_0)(uae_u32 opcode) /* CHK.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel666; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel666; } +}}}}m68k_incpc(2); +endlabel666: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41a0_0)(uae_u32 opcode) /* CHK.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel667; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel667; } +}}}}m68k_incpc(2); +endlabel667: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41a8_0)(uae_u32 opcode) /* CHK.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel668; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel668; } +}}}}m68k_incpc(4); +endlabel668: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41b0_0)(uae_u32 opcode) /* CHK.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel669; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel669; } +}}}}}endlabel669: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41b8_0)(uae_u32 opcode) /* CHK.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel670; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel670; } +}}}}m68k_incpc(4); +endlabel670: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41b9_0)(uae_u32 opcode) /* CHK.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel671; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel671; } +}}}}m68k_incpc(6); +endlabel671: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41ba_0)(uae_u32 opcode) /* CHK.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel672; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel672; } +}}}}m68k_incpc(4); +endlabel672: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41bb_0)(uae_u32 opcode) /* CHK.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel673; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel673; } +}}}}}endlabel673: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41bc_0)(uae_u32 opcode) /* CHK.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel674; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel674; } +}}}m68k_incpc(4); +endlabel674: ; + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41d0_0)(uae_u32 opcode) /* LEA.L (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41e8_0)(uae_u32 opcode) /* LEA.L (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41f0_0)(uae_u32 opcode) /* LEA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ m68k_areg(regs, dstreg) = (srca); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41f8_0)(uae_u32 opcode) /* LEA.L (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41f9_0)(uae_u32 opcode) /* LEA.L (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41fa_0)(uae_u32 opcode) /* LEA.L (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41fb_0)(uae_u32 opcode) /* LEA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ m68k_areg(regs, dstreg) = (srca); +}}}} cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4200_0)(uae_u32 opcode) /* CLR.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((0) & 0xff); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4210_0)(uae_u32 opcode) /* CLR.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4218_0)(uae_u32 opcode) /* CLR.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4220_0)(uae_u32 opcode) /* CLR.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4228_0)(uae_u32 opcode) /* CLR.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4230_0)(uae_u32 opcode) /* CLR.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4238_0)(uae_u32 opcode) /* CLR.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4239_0)(uae_u32 opcode) /* CLR.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4240_0)(uae_u32 opcode) /* CLR.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((0) & 0xffff); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4250_0)(uae_u32 opcode) /* CLR.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4258_0)(uae_u32 opcode) /* CLR.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4260_0)(uae_u32 opcode) /* CLR.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4268_0)(uae_u32 opcode) /* CLR.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4270_0)(uae_u32 opcode) /* CLR.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4278_0)(uae_u32 opcode) /* CLR.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4279_0)(uae_u32 opcode) /* CLR.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4280_0)(uae_u32 opcode) /* CLR.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + m68k_dreg(regs, srcreg) = (0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4290_0)(uae_u32 opcode) /* CLR.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4298_0)(uae_u32 opcode) /* CLR.L (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +#endif + +#ifdef PART_4 +void REGPARAM2 CPUFUNC(op_42a0_0)(uae_u32 opcode) /* CLR.L -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_42a8_0)(uae_u32 opcode) /* CLR.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_42b0_0)(uae_u32 opcode) /* CLR.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_42b8_0)(uae_u32 opcode) /* CLR.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_42b9_0)(uae_u32 opcode) /* CLR.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42c0_0)(uae_u32 opcode) /* MVSR2.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ MakeSR(); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((regs.sr & 0xff) & 0xffff); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42d0_0)(uae_u32 opcode) /* MVSR2.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42d8_0)(uae_u32 opcode) /* MVSR2.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += 2; + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42e0_0)(uae_u32 opcode) /* MVSR2.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; + m68k_areg (regs, srcreg) = srca; + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42e8_0)(uae_u32 opcode) /* MVSR2.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42f0_0)(uae_u32 opcode) /* MVSR2.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42f8_0)(uae_u32 opcode) /* MVSR2.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42f9_0)(uae_u32 opcode) /* MVSR2.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(6); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4400_0)(uae_u32 opcode) /* NEG.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((dst) & 0xff); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4410_0)(uae_u32 opcode) /* NEG.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4418_0)(uae_u32 opcode) /* NEG.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4420_0)(uae_u32 opcode) /* NEG.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4428_0)(uae_u32 opcode) /* NEG.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4430_0)(uae_u32 opcode) /* NEG.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4438_0)(uae_u32 opcode) /* NEG.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4439_0)(uae_u32 opcode) /* NEG.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4440_0)(uae_u32 opcode) /* NEG.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((dst) & 0xffff); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4450_0)(uae_u32 opcode) /* NEG.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4458_0)(uae_u32 opcode) /* NEG.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4460_0)(uae_u32 opcode) /* NEG.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4468_0)(uae_u32 opcode) /* NEG.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4470_0)(uae_u32 opcode) /* NEG.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4478_0)(uae_u32 opcode) /* NEG.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4479_0)(uae_u32 opcode) /* NEG.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4480_0)(uae_u32 opcode) /* NEG.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, srcreg) = (dst); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4490_0)(uae_u32 opcode) /* NEG.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4498_0)(uae_u32 opcode) /* NEG.L (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44a0_0)(uae_u32 opcode) /* NEG.L -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44a8_0)(uae_u32 opcode) /* NEG.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44b0_0)(uae_u32 opcode) /* NEG.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44b8_0)(uae_u32 opcode) /* NEG.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44b9_0)(uae_u32 opcode) /* NEG.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44c0_0)(uae_u32 opcode) /* MV2SR.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44d0_0)(uae_u32 opcode) /* MV2SR.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44d8_0)(uae_u32 opcode) /* MV2SR.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44e0_0)(uae_u32 opcode) /* MV2SR.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44e8_0)(uae_u32 opcode) /* MV2SR.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44f0_0)(uae_u32 opcode) /* MV2SR.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44f8_0)(uae_u32 opcode) /* MV2SR.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44f9_0)(uae_u32 opcode) /* MV2SR.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44fa_0)(uae_u32 opcode) /* MV2SR.B (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44fb_0)(uae_u32 opcode) /* MV2SR.B (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44fc_0)(uae_u32 opcode) /* MV2SR.B #.B */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4600_0)(uae_u32 opcode) /* NOT.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((dst) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4610_0)(uae_u32 opcode) /* NOT.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4618_0)(uae_u32 opcode) /* NOT.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4620_0)(uae_u32 opcode) /* NOT.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4628_0)(uae_u32 opcode) /* NOT.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4630_0)(uae_u32 opcode) /* NOT.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4638_0)(uae_u32 opcode) /* NOT.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4639_0)(uae_u32 opcode) /* NOT.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4640_0)(uae_u32 opcode) /* NOT.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((dst) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4650_0)(uae_u32 opcode) /* NOT.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4658_0)(uae_u32 opcode) /* NOT.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4660_0)(uae_u32 opcode) /* NOT.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4668_0)(uae_u32 opcode) /* NOT.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4670_0)(uae_u32 opcode) /* NOT.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4678_0)(uae_u32 opcode) /* NOT.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4679_0)(uae_u32 opcode) /* NOT.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4680_0)(uae_u32 opcode) /* NOT.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + m68k_dreg(regs, srcreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4690_0)(uae_u32 opcode) /* NOT.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4698_0)(uae_u32 opcode) /* NOT.L (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46a0_0)(uae_u32 opcode) /* NOT.L -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46a8_0)(uae_u32 opcode) /* NOT.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46b0_0)(uae_u32 opcode) /* NOT.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46b8_0)(uae_u32 opcode) /* NOT.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46b9_0)(uae_u32 opcode) /* NOT.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46c0_0)(uae_u32 opcode) /* MV2SR.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel773; } +{{ uae_s16 src = m68k_dreg(regs, srcreg); + regs.sr = src; + MakeFromSR(); +}}}m68k_incpc(2); +endlabel773: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46d0_0)(uae_u32 opcode) /* MV2SR.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel774; } +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(2); +endlabel774: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46d8_0)(uae_u32 opcode) /* MV2SR.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel775; } +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(2); +endlabel775: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46e0_0)(uae_u32 opcode) /* MV2SR.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel776; } +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(2); +endlabel776: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46e8_0)(uae_u32 opcode) /* MV2SR.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel777; } +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(4); +endlabel777: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46f0_0)(uae_u32 opcode) /* MV2SR.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel778; } +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}}endlabel778: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46f8_0)(uae_u32 opcode) /* MV2SR.W (xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel779; } +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(4); +endlabel779: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46f9_0)(uae_u32 opcode) /* MV2SR.W (xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel780; } +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(6); +endlabel780: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46fa_0)(uae_u32 opcode) /* MV2SR.W (d16,PC) */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel781; } +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(4); +endlabel781: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46fb_0)(uae_u32 opcode) /* MV2SR.W (d8,PC,Xn) */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel782; } +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}}endlabel782: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46fc_0)(uae_u32 opcode) /* MV2SR.W #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel783; } +{{ uae_s16 src = get_iword(2); + regs.sr = src; + MakeFromSR(); +}}}m68k_incpc(4); +endlabel783: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4800_0)(uae_u32 opcode) /* NBCD.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((newv) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4808_0)(uae_u32 opcode) /* LINK.L An,#.L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr olda = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = olda; +{ uae_s32 src = m68k_areg(regs, srcreg); + put_long(olda,src); + m68k_areg(regs, srcreg) = (m68k_areg(regs, 7)); +{ uae_s32 offs = get_ilong(2); + m68k_areg(regs, 7) += offs; +}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4810_0)(uae_u32 opcode) /* NBCD.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4818_0)(uae_u32 opcode) /* NBCD.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4820_0)(uae_u32 opcode) /* NBCD.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4828_0)(uae_u32 opcode) /* NBCD.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4830_0)(uae_u32 opcode) /* NBCD.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4838_0)(uae_u32 opcode) /* NBCD.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4839_0)(uae_u32 opcode) /* NBCD.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(srca,newv); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4840_0)(uae_u32 opcode) /* SWAP.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u32 dst = ((src >> 16)&0xFFFF) | ((src&0xFFFF)<<16); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + m68k_dreg(regs, srcreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4848_0)(uae_u32 opcode) /* BKPT.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{m68k_incpc(2); + op_illg(opcode); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4850_0)(uae_u32 opcode) /* PEA.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4868_0)(uae_u32 opcode) /* PEA.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4870_0)(uae_u32 opcode) /* PEA.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4878_0)(uae_u32 opcode) /* PEA.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4879_0)(uae_u32 opcode) /* PEA.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_487a_0)(uae_u32 opcode) /* PEA.L (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_487b_0)(uae_u32 opcode) /* PEA.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}} cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4880_0)(uae_u32 opcode) /* EXT.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u16 dst = (uae_s16)(uae_s8)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((dst) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4890_0)(uae_u32 opcode) /* MVMLE.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; } + while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48a0_0)(uae_u32 opcode) /* MVMLE.W #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = m68k_areg(regs, dstreg) - 0; +{ uae_u16 amask = mask & 0xff, dmask = (mask >> 8) & 0xff; + while (amask) { srca -= 2; put_word(srca, m68k_areg(regs, movem_index2[amask])); amask = movem_next[amask]; } + while (dmask) { srca -= 2; put_word(srca, m68k_dreg(regs, movem_index2[dmask])); dmask = movem_next[dmask]; } + m68k_areg(regs, dstreg) = srca; +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48a8_0)(uae_u32 opcode) /* MVMLE.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; } + while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48b0_0)(uae_u32 opcode) /* MVMLE.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{m68k_incpc(4); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; } + while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; } +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48b8_0)(uae_u32 opcode) /* MVMLE.W #.W,(xxx).W */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(4); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; } + while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48b9_0)(uae_u32 opcode) /* MVMLE.W #.W,(xxx).L */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = get_ilong(4); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; } + while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(8); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_48c0_0)(uae_u32 opcode) /* EXT.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u32 dst = (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + m68k_dreg(regs, srcreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48d0_0)(uae_u32 opcode) /* MVMLE.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = m68k_areg(regs, dstreg); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; } + while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48e0_0)(uae_u32 opcode) /* MVMLE.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = m68k_areg(regs, dstreg) - 0; +{ uae_u16 amask = mask & 0xff, dmask = (mask >> 8) & 0xff; + while (amask) { srca -= 4; put_long(srca, m68k_areg(regs, movem_index2[amask])); amask = movem_next[amask]; } + while (dmask) { srca -= 4; put_long(srca, m68k_dreg(regs, movem_index2[dmask])); dmask = movem_next[dmask]; } + m68k_areg(regs, dstreg) = srca; +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48e8_0)(uae_u32 opcode) /* MVMLE.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; } + while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48f0_0)(uae_u32 opcode) /* MVMLE.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{m68k_incpc(4); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; } + while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; } +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48f8_0)(uae_u32 opcode) /* MVMLE.L #.W,(xxx).W */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(4); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; } + while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48f9_0)(uae_u32 opcode) /* MVMLE.L #.W,(xxx).L */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = get_ilong(4); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; } + while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(8); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_49c0_0)(uae_u32 opcode) /* EXT.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_u32 dst = (uae_s32)(uae_s8)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + m68k_dreg(regs, srcreg) = (dst); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a00_0)(uae_u32 opcode) /* TST.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a10_0)(uae_u32 opcode) /* TST.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a18_0)(uae_u32 opcode) /* TST.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a20_0)(uae_u32 opcode) /* TST.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a28_0)(uae_u32 opcode) /* TST.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a30_0)(uae_u32 opcode) /* TST.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a38_0)(uae_u32 opcode) /* TST.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a39_0)(uae_u32 opcode) /* TST.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a3a_0)(uae_u32 opcode) /* TST.B (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a3b_0)(uae_u32 opcode) /* TST.B (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a3c_0)(uae_u32 opcode) /* TST.B #.B */ +{ + cpuop_begin(); +{{ uae_s8 src = get_ibyte(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a40_0)(uae_u32 opcode) /* TST.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a48_0)(uae_u32 opcode) /* TST.W An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a50_0)(uae_u32 opcode) /* TST.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a58_0)(uae_u32 opcode) /* TST.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a60_0)(uae_u32 opcode) /* TST.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a68_0)(uae_u32 opcode) /* TST.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a70_0)(uae_u32 opcode) /* TST.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a78_0)(uae_u32 opcode) /* TST.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a79_0)(uae_u32 opcode) /* TST.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a7a_0)(uae_u32 opcode) /* TST.W (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a7b_0)(uae_u32 opcode) /* TST.W (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a7c_0)(uae_u32 opcode) /* TST.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a80_0)(uae_u32 opcode) /* TST.L Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a88_0)(uae_u32 opcode) /* TST.L An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a90_0)(uae_u32 opcode) /* TST.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a98_0)(uae_u32 opcode) /* TST.L (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4aa0_0)(uae_u32 opcode) /* TST.L -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4aa8_0)(uae_u32 opcode) /* TST.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ab0_0)(uae_u32 opcode) /* TST.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ab8_0)(uae_u32 opcode) /* TST.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ab9_0)(uae_u32 opcode) /* TST.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4aba_0)(uae_u32 opcode) /* TST.L (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4abb_0)(uae_u32 opcode) /* TST.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4abc_0)(uae_u32 opcode) /* TST.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ac0_0)(uae_u32 opcode) /* TAS.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((src) & 0xff); +}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ad0_0)(uae_u32 opcode) /* TAS.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ad8_0)(uae_u32 opcode) /* TAS.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ae0_0)(uae_u32 opcode) /* TAS.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ae8_0)(uae_u32 opcode) /* TAS.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4af0_0)(uae_u32 opcode) /* TAS.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4af8_0)(uae_u32 opcode) /* TAS.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4af9_0)(uae_u32 opcode) /* TAS.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c00_0)(uae_u32 opcode) /* MULL.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + m68k_mull(opcode, dst, extra); +}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c10_0)(uae_u32 opcode) /* MULL.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(4); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c18_0)(uae_u32 opcode) /* MULL.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +m68k_incpc(4); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c20_0)(uae_u32 opcode) /* MULL.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +m68k_incpc(4); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c28_0)(uae_u32 opcode) /* MULL.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(6); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c30_0)(uae_u32 opcode) /* MULL.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + m68k_mull(opcode, dst, extra); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c38_0)(uae_u32 opcode) /* MULL.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(6); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c39_0)(uae_u32 opcode) /* MULL.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(8); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c3a_0)(uae_u32 opcode) /* MULL.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(6); + m68k_mull(opcode, dst, extra); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c3b_0)(uae_u32 opcode) /* MULL.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 dst = get_long(dsta); + m68k_mull(opcode, dst, extra); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c3c_0)(uae_u32 opcode) /* MULL.L #.W,#.L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uae_s32 dst = get_ilong(4); +m68k_incpc(8); + m68k_mull(opcode, dst, extra); +}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c40_0)(uae_u32 opcode) /* DIVL.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + m68k_divl(opcode, dst, extra, oldpc); +}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c50_0)(uae_u32 opcode) /* DIVL.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(2); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c58_0)(uae_u32 opcode) /* DIVL.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +m68k_incpc(2); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c60_0)(uae_u32 opcode) /* DIVL.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +m68k_incpc(2); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c68_0)(uae_u32 opcode) /* DIVL.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(4); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c70_0)(uae_u32 opcode) /* DIVL.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + m68k_divl(opcode, dst, extra, oldpc); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c78_0)(uae_u32 opcode) /* DIVL.L #.W,(xxx).W */ +{ + cpuop_begin(); +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(4); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c79_0)(uae_u32 opcode) /* DIVL.L #.W,(xxx).L */ +{ + cpuop_begin(); +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(6); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c7a_0)(uae_u32 opcode) /* DIVL.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uaecptr dsta = m68k_getpc () + 2; + dsta += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +m68k_incpc(4); + m68k_divl(opcode, dst, extra, oldpc); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c7b_0)(uae_u32 opcode) /* DIVL.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 dst = get_long(dsta); + m68k_divl(opcode, dst, extra, oldpc); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4c7c_0)(uae_u32 opcode) /* DIVL.L #.W,#.L */ +{ + cpuop_begin(); +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +{ uae_s32 dst = get_ilong(2); +m68k_incpc(6); + m68k_divl(opcode, dst, extra, oldpc); +}}}} cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4c90_0)(uae_u32 opcode) /* MVMEL.W #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_areg(regs, dstreg); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4c98_0)(uae_u32 opcode) /* MVMEL.W #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_areg(regs, dstreg); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } + m68k_areg(regs, dstreg) = srca; +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ca8_0)(uae_u32 opcode) /* MVMEL.W #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cb0_0)(uae_u32 opcode) /* MVMEL.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{m68k_incpc(4); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cb8_0)(uae_u32 opcode) /* MVMEL.W #.W,(xxx).W */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cb9_0)(uae_u32 opcode) /* MVMEL.W #.W,(xxx).L */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = get_ilong(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(8); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cba_0)(uae_u32 opcode) /* MVMEL.W #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_getpc () + 4; + srca += (uae_s32)(uae_s16)get_iword(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cbb_0)(uae_u32 opcode) /* MVMEL.W #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cd0_0)(uae_u32 opcode) /* MVMEL.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_areg(regs, dstreg); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cd8_0)(uae_u32 opcode) /* MVMEL.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_areg(regs, dstreg); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } + m68k_areg(regs, dstreg) = srca; +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ce8_0)(uae_u32 opcode) /* MVMEL.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cf0_0)(uae_u32 opcode) /* MVMEL.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{m68k_incpc(4); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cf8_0)(uae_u32 opcode) /* MVMEL.L #.W,(xxx).W */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cf9_0)(uae_u32 opcode) /* MVMEL.L #.W,(xxx).L */ +{ + cpuop_begin(); +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = get_ilong(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(8); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cfa_0)(uae_u32 opcode) /* MVMEL.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = m68k_getpc () + 4; + srca += (uae_s32)(uae_s16)get_iword(4); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cfb_0)(uae_u32 opcode) /* MVMEL.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e40_0)(uae_u32 opcode) /* TRAP.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 15); +#else + uae_u32 srcreg = (opcode & 15); +#endif +{{ uae_u32 src = srcreg; +m68k_incpc(2); + Exception(src+32,0); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e50_0)(uae_u32 opcode) /* LINK.W An,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr olda = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = olda; +{ uae_s32 src = m68k_areg(regs, srcreg); + put_long(olda,src); + m68k_areg(regs, srcreg) = (m68k_areg(regs, 7)); +{ uae_s16 offs = get_iword(2); + m68k_areg(regs, 7) += offs; +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e58_0)(uae_u32 opcode) /* UNLK.L An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); + m68k_areg(regs, 7) = src; +{ uaecptr olda = m68k_areg(regs, 7); +{ uae_s32 old = get_long(olda); + m68k_areg(regs, 7) += 4; + m68k_areg(regs, srcreg) = (old); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e60_0)(uae_u32 opcode) /* MVR2USP.L An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel901; } +{{ uae_s32 src = m68k_areg(regs, srcreg); + regs.usp = src; +}}}m68k_incpc(2); +endlabel901: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e68_0)(uae_u32 opcode) /* MVUSP2R.L An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel902; } +{{ m68k_areg(regs, srcreg) = (regs.usp); +}}}m68k_incpc(2); +endlabel902: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e70_0)(uae_u32 opcode) /* RESET.L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel903; } +{}}m68k_incpc(2); +endlabel903: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e71_0)(uae_u32 opcode) /* NOP.L */ +{ + cpuop_begin(); +{}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4e72_0)(uae_u32 opcode) /* STOP.L #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel905; } +{{ uae_s16 src = get_iword(2); + regs.sr = src; + MakeFromSR(); + m68k_setstopped(1); +}}}m68k_incpc(4); +endlabel905: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4e73_0)(uae_u32 opcode) /* RTE.L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel906; } +{ uae_u16 newsr; uae_u32 newpc; for (;;) { +{ uaecptr sra = m68k_areg(regs, 7); +{ uae_s16 sr = get_word(sra); + m68k_areg(regs, 7) += 2; +{ uaecptr pca = m68k_areg(regs, 7); +{ uae_s32 pc = get_long(pca); + m68k_areg(regs, 7) += 4; +{ uaecptr formata = m68k_areg(regs, 7); +{ uae_s16 format = get_word(formata); + m68k_areg(regs, 7) += 2; + newsr = sr; newpc = pc; + if ((format & 0xF000) == 0x0000) { break; } + else if ((format & 0xF000) == 0x1000) { ; } + else if ((format & 0xF000) == 0x2000) { m68k_areg(regs, 7) += 4; break; } + else if ((format & 0xF000) == 0x3000) { m68k_areg(regs, 7) += 4; break; } + else if ((format & 0xF000) == 0x7000) { m68k_areg(regs, 7) += 52; break; } + else if ((format & 0xF000) == 0x8000) { m68k_areg(regs, 7) += 50; break; } + else if ((format & 0xF000) == 0x9000) { m68k_areg(regs, 7) += 12; break; } + else if ((format & 0xF000) == 0xa000) { m68k_areg(regs, 7) += 24; break; } + else if ((format & 0xF000) == 0xb000) { m68k_areg(regs, 7) += 84; break; } + else { Exception(14,0); goto endlabel906; } + regs.sr = newsr; MakeFromSR(); +} +}}}}}} regs.sr = newsr; MakeFromSR(); + m68k_setpc_rte(newpc); +}}endlabel906: ; + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e74_0)(uae_u32 opcode) /* RTD.L #.W */ +{ + cpuop_begin(); +{{ uaecptr pca = m68k_areg(regs, 7); +{ uae_s32 pc = get_long(pca); + m68k_areg(regs, 7) += 4; +{ uae_s16 offs = get_iword(2); + m68k_areg(regs, 7) += offs; + m68k_setpc_rte(pc); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e75_0)(uae_u32 opcode) /* RTS.L */ +{ + cpuop_begin(); +{ m68k_do_rts(); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e76_0)(uae_u32 opcode) /* TRAPV.L */ +{ + cpuop_begin(); +{m68k_incpc(2); + if (GET_VFLG) { Exception(7,m68k_getpc()); goto endlabel909; } +}endlabel909: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4e77_0)(uae_u32 opcode) /* RTR.L */ +{ + cpuop_begin(); +{ MakeSR(); +{ uaecptr sra = m68k_areg(regs, 7); +{ uae_s16 sr = get_word(sra); + m68k_areg(regs, 7) += 2; +{ uaecptr pca = m68k_areg(regs, 7); +{ uae_s32 pc = get_long(pca); + m68k_areg(regs, 7) += 4; + regs.sr &= 0xFF00; sr &= 0xFF; + regs.sr |= sr; m68k_setpc(pc); + MakeFromSR(); +}}}}} cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e7a_0)(uae_u32 opcode) /* MOVEC2.L #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel911; } +{{ uae_s16 src = get_iword(2); +{ int regno = (src >> 12) & 15; + uae_u32 *regp = regs.regs + regno; + if (! m68k_movec2(src & 0xFFF, regp)) goto endlabel911; +}}}}m68k_incpc(4); +endlabel911: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e7b_0)(uae_u32 opcode) /* MOVE2C.L #.W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel912; } +{{ uae_s16 src = get_iword(2); +{ int regno = (src >> 12) & 15; + uae_u32 *regp = regs.regs + regno; + if (! m68k_move2c(src & 0xFFF, regp)) goto endlabel912; +}}}}m68k_incpc(4); +endlabel912: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4e90_0)(uae_u32 opcode) /* JSR.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_do_jsr(m68k_getpc() + 2, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ea8_0)(uae_u32 opcode) /* JSR.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + m68k_do_jsr(m68k_getpc() + 4, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4eb0_0)(uae_u32 opcode) /* JSR.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + m68k_do_jsr(m68k_getpc() + 0, srca); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4eb8_0)(uae_u32 opcode) /* JSR.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + m68k_do_jsr(m68k_getpc() + 4, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4eb9_0)(uae_u32 opcode) /* JSR.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + m68k_do_jsr(m68k_getpc() + 6, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4eba_0)(uae_u32 opcode) /* JSR.L (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); + m68k_do_jsr(m68k_getpc() + 4, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ebb_0)(uae_u32 opcode) /* JSR.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); + m68k_do_jsr(m68k_getpc() + 0, srca); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ed0_0)(uae_u32 opcode) /* JMP.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ee8_0)(uae_u32 opcode) /* JMP.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ef0_0)(uae_u32 opcode) /* JMP.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); + m68k_setpc(srca); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ef8_0)(uae_u32 opcode) /* JMP.L (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ef9_0)(uae_u32 opcode) /* JMP.L (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4efa_0)(uae_u32 opcode) /* JMP.L (d16,PC) */ +{ + cpuop_begin(); +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4efb_0)(uae_u32 opcode) /* JMP.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); + m68k_setpc(srca); +}}} cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5000_0)(uae_u32 opcode) /* ADD.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5010_0)(uae_u32 opcode) /* ADD.B #,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5018_0)(uae_u32 opcode) /* ADD.B #,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5020_0)(uae_u32 opcode) /* ADD.B #,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5028_0)(uae_u32 opcode) /* ADD.B #,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5030_0)(uae_u32 opcode) /* ADD.B #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5038_0)(uae_u32 opcode) /* ADD.B #,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5039_0)(uae_u32 opcode) /* ADD.B #,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +#endif + +#ifdef PART_5 +void REGPARAM2 CPUFUNC(op_5040_0)(uae_u32 opcode) /* ADD.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5048_0)(uae_u32 opcode) /* ADDA.W #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5050_0)(uae_u32 opcode) /* ADD.W #,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5058_0)(uae_u32 opcode) /* ADD.W #,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5060_0)(uae_u32 opcode) /* ADD.W #,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5068_0)(uae_u32 opcode) /* ADD.W #,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5070_0)(uae_u32 opcode) /* ADD.W #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5078_0)(uae_u32 opcode) /* ADD.W #,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5079_0)(uae_u32 opcode) /* ADD.W #,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5080_0)(uae_u32 opcode) /* ADD.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5088_0)(uae_u32 opcode) /* ADDA.L #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5090_0)(uae_u32 opcode) /* ADD.L #,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5098_0)(uae_u32 opcode) /* ADD.L #,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50a0_0)(uae_u32 opcode) /* ADD.L #,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50a8_0)(uae_u32 opcode) /* ADD.L #,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50b0_0)(uae_u32 opcode) /* ADD.L #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50b8_0)(uae_u32 opcode) /* ADD.L #,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50b9_0)(uae_u32 opcode) /* ADD.L #,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(0) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(0)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel954: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(0)) { Exception(7,m68k_getpc()); goto endlabel962; } +}}m68k_incpc(4); +endlabel962: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(0)) { Exception(7,m68k_getpc()); goto endlabel963; } +}}m68k_incpc(6); +endlabel963: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(0)) { Exception(7,m68k_getpc()); goto endlabel964; } +}m68k_incpc(2); +endlabel964: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5100_0)(uae_u32 opcode) /* SUB.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5110_0)(uae_u32 opcode) /* SUB.B #,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5118_0)(uae_u32 opcode) /* SUB.B #,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5120_0)(uae_u32 opcode) /* SUB.B #,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5128_0)(uae_u32 opcode) /* SUB.B #,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5130_0)(uae_u32 opcode) /* SUB.B #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5138_0)(uae_u32 opcode) /* SUB.B #,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5139_0)(uae_u32 opcode) /* SUB.B #,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5140_0)(uae_u32 opcode) /* SUB.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5148_0)(uae_u32 opcode) /* SUBA.W #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5150_0)(uae_u32 opcode) /* SUB.W #,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5158_0)(uae_u32 opcode) /* SUB.W #,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5160_0)(uae_u32 opcode) /* SUB.W #,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5168_0)(uae_u32 opcode) /* SUB.W #,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5170_0)(uae_u32 opcode) /* SUB.W #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5178_0)(uae_u32 opcode) /* SUB.W #,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5179_0)(uae_u32 opcode) /* SUB.W #,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5180_0)(uae_u32 opcode) /* SUB.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5188_0)(uae_u32 opcode) /* SUBA.L #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5190_0)(uae_u32 opcode) /* SUB.L #,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5198_0)(uae_u32 opcode) /* SUB.L #,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_51a0_0)(uae_u32 opcode) /* SUB.L #,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_51a8_0)(uae_u32 opcode) /* SUB.L #,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_51b0_0)(uae_u32 opcode) /* SUB.L #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_51b8_0)(uae_u32 opcode) /* SUB.L #,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_51b9_0)(uae_u32 opcode) /* SUB.L #,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(1) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(1)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel992: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(1)) { Exception(7,m68k_getpc()); goto endlabel1000; } +}}m68k_incpc(4); +endlabel1000: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(1)) { Exception(7,m68k_getpc()); goto endlabel1001; } +}}m68k_incpc(6); +endlabel1001: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(1)) { Exception(7,m68k_getpc()); goto endlabel1002; } +}m68k_incpc(2); +endlabel1002: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(2) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(2)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1004: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(2)) { Exception(7,m68k_getpc()); goto endlabel1012; } +}}m68k_incpc(4); +endlabel1012: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(2)) { Exception(7,m68k_getpc()); goto endlabel1013; } +}}m68k_incpc(6); +endlabel1013: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(2)) { Exception(7,m68k_getpc()); goto endlabel1014; } +}m68k_incpc(2); +endlabel1014: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(3) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(3)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1016: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(3)) { Exception(7,m68k_getpc()); goto endlabel1024; } +}}m68k_incpc(4); +endlabel1024: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(3)) { Exception(7,m68k_getpc()); goto endlabel1025; } +}}m68k_incpc(6); +endlabel1025: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(3)) { Exception(7,m68k_getpc()); goto endlabel1026; } +}m68k_incpc(2); +endlabel1026: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(4) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(4)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1028: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(4)) { Exception(7,m68k_getpc()); goto endlabel1036; } +}}m68k_incpc(4); +endlabel1036: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(4)) { Exception(7,m68k_getpc()); goto endlabel1037; } +}}m68k_incpc(6); +endlabel1037: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(4)) { Exception(7,m68k_getpc()); goto endlabel1038; } +}m68k_incpc(2); +endlabel1038: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(5) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(5)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1040: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(5)) { Exception(7,m68k_getpc()); goto endlabel1048; } +}}m68k_incpc(4); +endlabel1048: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(5)) { Exception(7,m68k_getpc()); goto endlabel1049; } +}}m68k_incpc(6); +endlabel1049: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(5)) { Exception(7,m68k_getpc()); goto endlabel1050; } +}m68k_incpc(2); +endlabel1050: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(6) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(6)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1052: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(6)) { Exception(7,m68k_getpc()); goto endlabel1060; } +}}m68k_incpc(4); +endlabel1060: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(6)) { Exception(7,m68k_getpc()); goto endlabel1061; } +}}m68k_incpc(6); +endlabel1061: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(6)) { Exception(7,m68k_getpc()); goto endlabel1062; } +}m68k_incpc(2); +endlabel1062: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(7) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(7)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1064: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(7)) { Exception(7,m68k_getpc()); goto endlabel1072; } +}}m68k_incpc(4); +endlabel1072: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(7)) { Exception(7,m68k_getpc()); goto endlabel1073; } +}}m68k_incpc(6); +endlabel1073: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(7)) { Exception(7,m68k_getpc()); goto endlabel1074; } +}m68k_incpc(2); +endlabel1074: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(8) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(8)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1076: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(8)) { Exception(7,m68k_getpc()); goto endlabel1084; } +}}m68k_incpc(4); +endlabel1084: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(8)) { Exception(7,m68k_getpc()); goto endlabel1085; } +}}m68k_incpc(6); +endlabel1085: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(8)) { Exception(7,m68k_getpc()); goto endlabel1086; } +}m68k_incpc(2); +endlabel1086: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59c0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(9) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59c8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(9)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1088: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59d0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59d8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59e0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59e8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59f0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59f8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59f9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59fa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(9)) { Exception(7,m68k_getpc()); goto endlabel1096; } +}}m68k_incpc(4); +endlabel1096: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59fb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(9)) { Exception(7,m68k_getpc()); goto endlabel1097; } +}}m68k_incpc(6); +endlabel1097: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59fc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(9)) { Exception(7,m68k_getpc()); goto endlabel1098; } +}m68k_incpc(2); +endlabel1098: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ac0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(10) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ac8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(10)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1100: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ad0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ad8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ae0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ae8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5af0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5af8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5af9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5afa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(10)) { Exception(7,m68k_getpc()); goto endlabel1108; } +}}m68k_incpc(4); +endlabel1108: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5afb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(10)) { Exception(7,m68k_getpc()); goto endlabel1109; } +}}m68k_incpc(6); +endlabel1109: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5afc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(10)) { Exception(7,m68k_getpc()); goto endlabel1110; } +}m68k_incpc(2); +endlabel1110: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bc0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(11) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bc8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(11)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1112: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bd0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bd8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5be0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5be8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bf0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bf8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bf9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bfa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(11)) { Exception(7,m68k_getpc()); goto endlabel1120; } +}}m68k_incpc(4); +endlabel1120: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bfb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(11)) { Exception(7,m68k_getpc()); goto endlabel1121; } +}}m68k_incpc(6); +endlabel1121: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bfc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(11)) { Exception(7,m68k_getpc()); goto endlabel1122; } +}m68k_incpc(2); +endlabel1122: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cc0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(12) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cc8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(12)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1124: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cd0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cd8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ce0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ce8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cf0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cf8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cf9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cfa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(12)) { Exception(7,m68k_getpc()); goto endlabel1132; } +}}m68k_incpc(4); +endlabel1132: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cfb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(12)) { Exception(7,m68k_getpc()); goto endlabel1133; } +}}m68k_incpc(6); +endlabel1133: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cfc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(12)) { Exception(7,m68k_getpc()); goto endlabel1134; } +}m68k_incpc(2); +endlabel1134: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dc0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(13) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dc8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(13)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1136: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dd0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dd8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5de0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5de8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5df0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5df8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5df9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dfa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(13)) { Exception(7,m68k_getpc()); goto endlabel1144; } +}}m68k_incpc(4); +endlabel1144: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dfb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(13)) { Exception(7,m68k_getpc()); goto endlabel1145; } +}}m68k_incpc(6); +endlabel1145: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5dfc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(13)) { Exception(7,m68k_getpc()); goto endlabel1146; } +}m68k_incpc(2); +endlabel1146: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ec0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(14) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ec8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(14)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1148: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ed0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ed8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ee0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ee8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ef0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ef8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ef9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5efa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(14)) { Exception(7,m68k_getpc()); goto endlabel1156; } +}}m68k_incpc(4); +endlabel1156: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5efb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(14)) { Exception(7,m68k_getpc()); goto endlabel1157; } +}}m68k_incpc(6); +endlabel1157: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5efc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(14)) { Exception(7,m68k_getpc()); goto endlabel1158; } +}m68k_incpc(2); +endlabel1158: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5fc0_0)(uae_u32 opcode) /* Scc.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{{ int val = cctrue(15) ? 0xff : 0; + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5fc8_0)(uae_u32 opcode) /* DBcc.W Dn,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 offs = get_iword(2); + if (!cctrue(15)) { + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff); + if (src) { + m68k_incpc((uae_s32)offs + 2); +return; + } + } +}}}m68k_incpc(4); +endlabel1160: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5fd0_0)(uae_u32 opcode) /* Scc.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5fd8_0)(uae_u32 opcode) /* Scc.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5fe0_0)(uae_u32 opcode) /* Scc.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; + m68k_areg (regs, srcreg) = srca; +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5fe8_0)(uae_u32 opcode) /* Scc.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ff0_0)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ff8_0)(uae_u32 opcode) /* Scc.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ff9_0)(uae_u32 opcode) /* Scc.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#endif + +#ifdef PART_6 +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ffa_0)(uae_u32 opcode) /* TRAPcc.L #.W */ +{ + cpuop_begin(); +{{ uae_s16 dummy = get_iword(2); + if (cctrue(15)) { Exception(7,m68k_getpc()); goto endlabel1168; } +}}m68k_incpc(4); +endlabel1168: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ffb_0)(uae_u32 opcode) /* TRAPcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 dummy = get_ilong(2); + if (cctrue(15)) { Exception(7,m68k_getpc()); goto endlabel1169; } +}}m68k_incpc(6); +endlabel1169: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ffc_0)(uae_u32 opcode) /* TRAPcc.L */ +{ + cpuop_begin(); +{ if (cctrue(15)) { Exception(7,m68k_getpc()); goto endlabel1170; } +}m68k_incpc(2); +endlabel1170: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6000_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(0)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1171: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6001_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(0)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1172: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_60ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(0)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1173: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6100_0)(uae_u32 opcode) /* BSR.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + uae_s32 s = (uae_s32)src + 2; + m68k_do_bsr(m68k_getpc() + 4, s); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6101_0)(uae_u32 opcode) /* BSR.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + uae_s32 s = (uae_s32)src + 2; + m68k_do_bsr(m68k_getpc() + 2, s); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_61ff_0)(uae_u32 opcode) /* BSR.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + uae_s32 s = (uae_s32)src + 2; + m68k_do_bsr(m68k_getpc() + 6, s); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6200_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(2)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1177: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6201_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(2)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1178: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_62ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(2)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1179: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6300_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(3)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1180: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6301_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(3)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1181: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_63ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(3)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1182: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6400_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(4)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1183: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6401_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(4)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1184: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_64ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(4)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1185: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6500_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(5)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1186: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6501_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(5)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1187: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_65ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(5)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1188: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6600_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(6)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1189: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6601_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(6)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1190: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_66ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(6)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1191: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6700_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(7)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1192: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6701_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(7)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1193: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_67ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(7)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1194: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6800_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(8)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1195: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6801_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(8)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1196: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_68ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(8)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1197: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6900_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(9)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1198: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6901_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(9)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1199: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_69ff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(9)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1200: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6a00_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(10)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1201: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6a01_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(10)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1202: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6aff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(10)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1203: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6b00_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(11)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1204: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6b01_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(11)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1205: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6bff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(11)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1206: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6c00_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(12)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1207: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6c01_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(12)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1208: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6cff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(12)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1209: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6d00_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(13)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1210: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6d01_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(13)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1211: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6dff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(13)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1212: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6e00_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(14)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1213: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6e01_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(14)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1214: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6eff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(14)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1215: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6f00_0)(uae_u32 opcode) /* Bcc.W #.W */ +{ + cpuop_begin(); +{{ uae_s16 src = get_iword(2); + if (!cctrue(15)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(4); +endlabel1216: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6f01_0)(uae_u32 opcode) /* Bcc.B # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +{{ uae_u32 src = srcreg; + if (!cctrue(15)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(2); +endlabel1217: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6fff_0)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{{ uae_s32 src = get_ilong(2); + if (!cctrue(15)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel1218: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_7000_0)(uae_u32 opcode) /* MOVE.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 8) & 255); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)(opcode & 255); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_u32 src = srcreg; +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_7100_0)(uae_u32 opcode) /* EMULOP_RETURN.L */ +{ + cpuop_begin(); +{ m68k_emulop_return(); +} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_7101_0)(uae_u32 opcode) /* EMULOP.L # */ +{ + cpuop_begin(); +{ +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + m68k_emulop(opcode); +}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_8000_0)(uae_u32 opcode) /* OR.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8010_0)(uae_u32 opcode) /* OR.B (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8018_0)(uae_u32 opcode) /* OR.B (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8020_0)(uae_u32 opcode) /* OR.B -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8028_0)(uae_u32 opcode) /* OR.B (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8030_0)(uae_u32 opcode) /* OR.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8038_0)(uae_u32 opcode) /* OR.B (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8039_0)(uae_u32 opcode) /* OR.B (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_803a_0)(uae_u32 opcode) /* OR.B (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_803b_0)(uae_u32 opcode) /* OR.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_803c_0)(uae_u32 opcode) /* OR.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8040_0)(uae_u32 opcode) /* OR.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8050_0)(uae_u32 opcode) /* OR.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8058_0)(uae_u32 opcode) /* OR.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8060_0)(uae_u32 opcode) /* OR.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8068_0)(uae_u32 opcode) /* OR.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8070_0)(uae_u32 opcode) /* OR.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8078_0)(uae_u32 opcode) /* OR.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8079_0)(uae_u32 opcode) /* OR.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_807a_0)(uae_u32 opcode) /* OR.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_807b_0)(uae_u32 opcode) /* OR.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_807c_0)(uae_u32 opcode) /* OR.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8080_0)(uae_u32 opcode) /* OR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8090_0)(uae_u32 opcode) /* OR.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8098_0)(uae_u32 opcode) /* OR.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80a0_0)(uae_u32 opcode) /* OR.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80a8_0)(uae_u32 opcode) /* OR.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80b0_0)(uae_u32 opcode) /* OR.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80b8_0)(uae_u32 opcode) /* OR.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80b9_0)(uae_u32 opcode) /* OR.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80ba_0)(uae_u32 opcode) /* OR.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80bb_0)(uae_u32 opcode) /* OR.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80bc_0)(uae_u32 opcode) /* OR.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80c0_0)(uae_u32 opcode) /* DIVU.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1255; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}endlabel1255: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80d0_0)(uae_u32 opcode) /* DIVU.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1256; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1256: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80d8_0)(uae_u32 opcode) /* DIVU.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1257; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1257: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80e0_0)(uae_u32 opcode) /* DIVU.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1258; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1258: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80e8_0)(uae_u32 opcode) /* DIVU.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1259; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1259: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80f0_0)(uae_u32 opcode) /* DIVU.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1260; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}}endlabel1260: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80f8_0)(uae_u32 opcode) /* DIVU.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1261; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1261: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80f9_0)(uae_u32 opcode) /* DIVU.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(6); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1262; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1262: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80fa_0)(uae_u32 opcode) /* DIVU.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1263; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1263: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80fb_0)(uae_u32 opcode) /* DIVU.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1264; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}}endlabel1264: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80fc_0)(uae_u32 opcode) /* DIVU.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel1265; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}endlabel1265: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8100_0)(uae_u32 opcode) /* SBCD.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{ uae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (dst & 0xF0) - (src & 0xF0); + uae_u16 newv, tmp_newv; + int bcd = 0; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo & 0xF0) { newv -= 6; bcd = 6; }; + if ((((dst & 0xFF) - (src & 0xFF) - (GET_XFLG ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; } + SET_CFLG ((((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG ? 1 : 0)) & 0x300) > 0xFF); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8108_0)(uae_u32 opcode) /* SBCD.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (dst & 0xF0) - (src & 0xF0); + uae_u16 newv, tmp_newv; + int bcd = 0; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo & 0xF0) { newv -= 6; bcd = 6; }; + if ((((dst & 0xFF) - (src & 0xFF) - (GET_XFLG ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; } + SET_CFLG ((((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG ? 1 : 0)) & 0x300) > 0xFF); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(dsta,newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8110_0)(uae_u32 opcode) /* OR.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8118_0)(uae_u32 opcode) /* OR.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8120_0)(uae_u32 opcode) /* OR.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8128_0)(uae_u32 opcode) /* OR.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8130_0)(uae_u32 opcode) /* OR.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8138_0)(uae_u32 opcode) /* OR.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8139_0)(uae_u32 opcode) /* OR.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_8140_0)(uae_u32 opcode) /* PACK.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uae_u16 val = m68k_dreg(regs, srcreg) + get_iword(2); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & 0xffffff00) | ((val >> 4) & 0xf0) | (val & 0xf); +}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_8148_0)(uae_u32 opcode) /* PACK.L -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uae_u16 val; + m68k_areg(regs, srcreg) -= areg_byteinc[srcreg]; + val = (uae_u16)get_byte(m68k_areg(regs, srcreg)); + m68k_areg(regs, srcreg) -= areg_byteinc[srcreg]; + val = (val | ((uae_u16)get_byte(m68k_areg(regs, srcreg)) << 8)) + get_iword(2); + m68k_areg(regs, dstreg) -= areg_byteinc[dstreg]; + put_byte(m68k_areg(regs, dstreg),((val >> 4) & 0xf0) | (val & 0xf)); +}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_8150_0)(uae_u32 opcode) /* OR.W Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8158_0)(uae_u32 opcode) /* OR.W Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8160_0)(uae_u32 opcode) /* OR.W Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8168_0)(uae_u32 opcode) /* OR.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8170_0)(uae_u32 opcode) /* OR.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8178_0)(uae_u32 opcode) /* OR.W Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8179_0)(uae_u32 opcode) /* OR.W Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_8180_0)(uae_u32 opcode) /* UNPK.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uae_u16 val = m68k_dreg(regs, srcreg); + val = (((val << 4) & 0xf00) | (val & 0xf)) + get_iword(2); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & 0xffff0000) | (val & 0xffff); +}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_8188_0)(uae_u32 opcode) /* UNPK.L -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uae_u16 val; + m68k_areg(regs, srcreg) -= areg_byteinc[srcreg]; + val = (uae_u16)get_byte(m68k_areg(regs, srcreg)); + val = (((val << 4) & 0xf00) | (val & 0xf)) + get_iword(2); + m68k_areg(regs, dstreg) -= areg_byteinc[dstreg]; + put_byte(m68k_areg(regs, dstreg),val); + m68k_areg(regs, dstreg) -= areg_byteinc[dstreg]; + put_byte(m68k_areg(regs, dstreg),val >> 8); +}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_8190_0)(uae_u32 opcode) /* OR.L Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8198_0)(uae_u32 opcode) /* OR.L Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81a0_0)(uae_u32 opcode) /* OR.L Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81a8_0)(uae_u32 opcode) /* OR.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81b0_0)(uae_u32 opcode) /* OR.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81b8_0)(uae_u32 opcode) /* OR.L Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81b9_0)(uae_u32 opcode) /* OR.L Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81c0_0)(uae_u32 opcode) /* DIVS.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1293; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}endlabel1293: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81d0_0)(uae_u32 opcode) /* DIVS.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1294; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1294: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81d8_0)(uae_u32 opcode) /* DIVS.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1295; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1295: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81e0_0)(uae_u32 opcode) /* DIVS.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(2); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1296; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1296: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81e8_0)(uae_u32 opcode) /* DIVS.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1297; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1297: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81f0_0)(uae_u32 opcode) /* DIVS.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1298; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}}endlabel1298: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81f8_0)(uae_u32 opcode) /* DIVS.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1299; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1299: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81f9_0)(uae_u32 opcode) /* DIVS.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(6); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1300; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1300: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81fa_0)(uae_u32 opcode) /* DIVS.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1301; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel1301: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81fb_0)(uae_u32 opcode) /* DIVS.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1302; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}}endlabel1302: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81fc_0)(uae_u32 opcode) /* DIVS.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel1303; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}endlabel1303: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9000_0)(uae_u32 opcode) /* SUB.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9010_0)(uae_u32 opcode) /* SUB.B (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9018_0)(uae_u32 opcode) /* SUB.B (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9020_0)(uae_u32 opcode) /* SUB.B -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9028_0)(uae_u32 opcode) /* SUB.B (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9030_0)(uae_u32 opcode) /* SUB.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9038_0)(uae_u32 opcode) /* SUB.B (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9039_0)(uae_u32 opcode) /* SUB.B (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_903a_0)(uae_u32 opcode) /* SUB.B (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_903b_0)(uae_u32 opcode) /* SUB.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_903c_0)(uae_u32 opcode) /* SUB.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9040_0)(uae_u32 opcode) /* SUB.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9048_0)(uae_u32 opcode) /* SUB.W An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9050_0)(uae_u32 opcode) /* SUB.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9058_0)(uae_u32 opcode) /* SUB.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9060_0)(uae_u32 opcode) /* SUB.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9068_0)(uae_u32 opcode) /* SUB.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9070_0)(uae_u32 opcode) /* SUB.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9078_0)(uae_u32 opcode) /* SUB.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9079_0)(uae_u32 opcode) /* SUB.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_907a_0)(uae_u32 opcode) /* SUB.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_907b_0)(uae_u32 opcode) /* SUB.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_907c_0)(uae_u32 opcode) /* SUB.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9080_0)(uae_u32 opcode) /* SUB.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9088_0)(uae_u32 opcode) /* SUB.L An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9090_0)(uae_u32 opcode) /* SUB.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9098_0)(uae_u32 opcode) /* SUB.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90a0_0)(uae_u32 opcode) /* SUB.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90a8_0)(uae_u32 opcode) /* SUB.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90b0_0)(uae_u32 opcode) /* SUB.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90b8_0)(uae_u32 opcode) /* SUB.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90b9_0)(uae_u32 opcode) /* SUB.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90ba_0)(uae_u32 opcode) /* SUB.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90bb_0)(uae_u32 opcode) /* SUB.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90bc_0)(uae_u32 opcode) /* SUB.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90c0_0)(uae_u32 opcode) /* SUBA.W Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90c8_0)(uae_u32 opcode) /* SUBA.W An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90d0_0)(uae_u32 opcode) /* SUBA.W (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90d8_0)(uae_u32 opcode) /* SUBA.W (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90e0_0)(uae_u32 opcode) /* SUBA.W -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90e8_0)(uae_u32 opcode) /* SUBA.W (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90f0_0)(uae_u32 opcode) /* SUBA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90f8_0)(uae_u32 opcode) /* SUBA.W (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90f9_0)(uae_u32 opcode) /* SUBA.W (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90fa_0)(uae_u32 opcode) /* SUBA.W (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90fb_0)(uae_u32 opcode) /* SUBA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90fc_0)(uae_u32 opcode) /* SUBA.W #.W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_9100_0)(uae_u32 opcode) /* SUBX.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = dst - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9108_0)(uae_u32 opcode) /* SUBX.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u32 newv = dst - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9110_0)(uae_u32 opcode) /* SUB.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9118_0)(uae_u32 opcode) /* SUB.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9120_0)(uae_u32 opcode) /* SUB.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9128_0)(uae_u32 opcode) /* SUB.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9130_0)(uae_u32 opcode) /* SUB.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9138_0)(uae_u32 opcode) /* SUB.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9139_0)(uae_u32 opcode) /* SUB.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9140_0)(uae_u32 opcode) /* SUBX.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = dst - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9148_0)(uae_u32 opcode) /* SUBX.W -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u32 newv = dst - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9150_0)(uae_u32 opcode) /* SUB.W Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9158_0)(uae_u32 opcode) /* SUB.W Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9160_0)(uae_u32 opcode) /* SUB.W Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9168_0)(uae_u32 opcode) /* SUB.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9170_0)(uae_u32 opcode) /* SUB.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9178_0)(uae_u32 opcode) /* SUB.W Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9179_0)(uae_u32 opcode) /* SUB.W Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9180_0)(uae_u32 opcode) /* SUBX.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = dst - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9188_0)(uae_u32 opcode) /* SUBX.L -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u32 newv = dst - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9190_0)(uae_u32 opcode) /* SUB.L Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9198_0)(uae_u32 opcode) /* SUB.L Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_91a0_0)(uae_u32 opcode) /* SUB.L Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_91a8_0)(uae_u32 opcode) /* SUB.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_91b0_0)(uae_u32 opcode) /* SUB.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_91b8_0)(uae_u32 opcode) /* SUB.L Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_91b9_0)(uae_u32 opcode) /* SUB.L Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91c0_0)(uae_u32 opcode) /* SUBA.L Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91c8_0)(uae_u32 opcode) /* SUBA.L An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91d0_0)(uae_u32 opcode) /* SUBA.L (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91d8_0)(uae_u32 opcode) /* SUBA.L (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91e0_0)(uae_u32 opcode) /* SUBA.L -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91e8_0)(uae_u32 opcode) /* SUBA.L (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91f0_0)(uae_u32 opcode) /* SUBA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91f8_0)(uae_u32 opcode) /* SUBA.L (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91f9_0)(uae_u32 opcode) /* SUBA.L (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91fa_0)(uae_u32 opcode) /* SUBA.L (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91fb_0)(uae_u32 opcode) /* SUBA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91fc_0)(uae_u32 opcode) /* SUBA.L #.L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_b000_0)(uae_u32 opcode) /* CMP.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b010_0)(uae_u32 opcode) /* CMP.B (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b018_0)(uae_u32 opcode) /* CMP.B (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b020_0)(uae_u32 opcode) /* CMP.B -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b028_0)(uae_u32 opcode) /* CMP.B (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b030_0)(uae_u32 opcode) /* CMP.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b038_0)(uae_u32 opcode) /* CMP.B (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b039_0)(uae_u32 opcode) /* CMP.B (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b03a_0)(uae_u32 opcode) /* CMP.B (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b03b_0)(uae_u32 opcode) /* CMP.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b03c_0)(uae_u32 opcode) /* CMP.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b040_0)(uae_u32 opcode) /* CMP.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#endif + +#ifdef PART_7 +void REGPARAM2 CPUFUNC(op_b048_0)(uae_u32 opcode) /* CMP.W An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b050_0)(uae_u32 opcode) /* CMP.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b058_0)(uae_u32 opcode) /* CMP.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b060_0)(uae_u32 opcode) /* CMP.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b068_0)(uae_u32 opcode) /* CMP.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b070_0)(uae_u32 opcode) /* CMP.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b078_0)(uae_u32 opcode) /* CMP.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b079_0)(uae_u32 opcode) /* CMP.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b07a_0)(uae_u32 opcode) /* CMP.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b07b_0)(uae_u32 opcode) /* CMP.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b07c_0)(uae_u32 opcode) /* CMP.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b080_0)(uae_u32 opcode) /* CMP.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b088_0)(uae_u32 opcode) /* CMP.L An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b090_0)(uae_u32 opcode) /* CMP.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b098_0)(uae_u32 opcode) /* CMP.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0a0_0)(uae_u32 opcode) /* CMP.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0a8_0)(uae_u32 opcode) /* CMP.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0b0_0)(uae_u32 opcode) /* CMP.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0b8_0)(uae_u32 opcode) /* CMP.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0b9_0)(uae_u32 opcode) /* CMP.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0ba_0)(uae_u32 opcode) /* CMP.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0bb_0)(uae_u32 opcode) /* CMP.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0bc_0)(uae_u32 opcode) /* CMP.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0c0_0)(uae_u32 opcode) /* CMPA.W Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0c8_0)(uae_u32 opcode) /* CMPA.W An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0d0_0)(uae_u32 opcode) /* CMPA.W (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0d8_0)(uae_u32 opcode) /* CMPA.W (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0e0_0)(uae_u32 opcode) /* CMPA.W -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0e8_0)(uae_u32 opcode) /* CMPA.W (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0f0_0)(uae_u32 opcode) /* CMPA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0f8_0)(uae_u32 opcode) /* CMPA.W (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0f9_0)(uae_u32 opcode) /* CMPA.W (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0fa_0)(uae_u32 opcode) /* CMPA.W (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0fb_0)(uae_u32 opcode) /* CMPA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0fc_0)(uae_u32 opcode) /* CMPA.W #.W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b100_0)(uae_u32 opcode) /* EOR.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b108_0)(uae_u32 opcode) /* CMPM.B (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b110_0)(uae_u32 opcode) /* EOR.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b118_0)(uae_u32 opcode) /* EOR.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b120_0)(uae_u32 opcode) /* EOR.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b128_0)(uae_u32 opcode) /* EOR.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b130_0)(uae_u32 opcode) /* EOR.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b138_0)(uae_u32 opcode) /* EOR.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b139_0)(uae_u32 opcode) /* EOR.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b140_0)(uae_u32 opcode) /* EOR.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b148_0)(uae_u32 opcode) /* CMPM.W (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b150_0)(uae_u32 opcode) /* EOR.W Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b158_0)(uae_u32 opcode) /* EOR.W Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b160_0)(uae_u32 opcode) /* EOR.W Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b168_0)(uae_u32 opcode) /* EOR.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b170_0)(uae_u32 opcode) /* EOR.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b178_0)(uae_u32 opcode) /* EOR.W Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b179_0)(uae_u32 opcode) /* EOR.W Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b180_0)(uae_u32 opcode) /* EOR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b188_0)(uae_u32 opcode) /* CMPM.L (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b190_0)(uae_u32 opcode) /* EOR.L Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b198_0)(uae_u32 opcode) /* EOR.L Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1a0_0)(uae_u32 opcode) /* EOR.L Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1a8_0)(uae_u32 opcode) /* EOR.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1b0_0)(uae_u32 opcode) /* EOR.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1b8_0)(uae_u32 opcode) /* EOR.L Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1b9_0)(uae_u32 opcode) /* EOR.L Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1c0_0)(uae_u32 opcode) /* CMPA.L Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1c8_0)(uae_u32 opcode) /* CMPA.L An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1d0_0)(uae_u32 opcode) /* CMPA.L (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1d8_0)(uae_u32 opcode) /* CMPA.L (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1e0_0)(uae_u32 opcode) /* CMPA.L -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1e8_0)(uae_u32 opcode) /* CMPA.L (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1f0_0)(uae_u32 opcode) /* CMPA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1f8_0)(uae_u32 opcode) /* CMPA.L (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1f9_0)(uae_u32 opcode) /* CMPA.L (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1fa_0)(uae_u32 opcode) /* CMPA.L (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1fb_0)(uae_u32 opcode) /* CMPA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1fc_0)(uae_u32 opcode) /* CMPA.L #.L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c000_0)(uae_u32 opcode) /* AND.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c010_0)(uae_u32 opcode) /* AND.B (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c018_0)(uae_u32 opcode) /* AND.B (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c020_0)(uae_u32 opcode) /* AND.B -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c028_0)(uae_u32 opcode) /* AND.B (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c030_0)(uae_u32 opcode) /* AND.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c038_0)(uae_u32 opcode) /* AND.B (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c039_0)(uae_u32 opcode) /* AND.B (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c03a_0)(uae_u32 opcode) /* AND.B (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c03b_0)(uae_u32 opcode) /* AND.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c03c_0)(uae_u32 opcode) /* AND.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c040_0)(uae_u32 opcode) /* AND.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c050_0)(uae_u32 opcode) /* AND.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c058_0)(uae_u32 opcode) /* AND.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c060_0)(uae_u32 opcode) /* AND.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c068_0)(uae_u32 opcode) /* AND.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c070_0)(uae_u32 opcode) /* AND.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c078_0)(uae_u32 opcode) /* AND.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c079_0)(uae_u32 opcode) /* AND.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c07a_0)(uae_u32 opcode) /* AND.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c07b_0)(uae_u32 opcode) /* AND.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c07c_0)(uae_u32 opcode) /* AND.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c080_0)(uae_u32 opcode) /* AND.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c090_0)(uae_u32 opcode) /* AND.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c098_0)(uae_u32 opcode) /* AND.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0a0_0)(uae_u32 opcode) /* AND.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0a8_0)(uae_u32 opcode) /* AND.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0b0_0)(uae_u32 opcode) /* AND.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0b8_0)(uae_u32 opcode) /* AND.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0b9_0)(uae_u32 opcode) /* AND.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0ba_0)(uae_u32 opcode) /* AND.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0bb_0)(uae_u32 opcode) /* AND.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0bc_0)(uae_u32 opcode) /* AND.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0c0_0)(uae_u32 opcode) /* MULU.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0d0_0)(uae_u32 opcode) /* MULU.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0d8_0)(uae_u32 opcode) /* MULU.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0e0_0)(uae_u32 opcode) /* MULU.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0e8_0)(uae_u32 opcode) /* MULU.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0f0_0)(uae_u32 opcode) /* MULU.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0f8_0)(uae_u32 opcode) /* MULU.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0f9_0)(uae_u32 opcode) /* MULU.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0fa_0)(uae_u32 opcode) /* MULU.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0fb_0)(uae_u32 opcode) /* MULU.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0fc_0)(uae_u32 opcode) /* MULU.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c100_0)(uae_u32 opcode) /* ABCD.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{ uae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (src & 0xF0) + (dst & 0xF0); + uae_u16 newv, tmp_newv; + int cflg; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo > 9) { newv += 6; } + cflg = (newv & 0x3F0) > 0x90; + if (cflg) newv += 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c108_0)(uae_u32 opcode) /* ABCD.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (src & 0xF0) + (dst & 0xF0); + uae_u16 newv, tmp_newv; + int cflg; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo > 9) { newv += 6; } + cflg = (newv & 0x3F0) > 0x90; + if (cflg) newv += 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + put_byte(dsta,newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c110_0)(uae_u32 opcode) /* AND.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c118_0)(uae_u32 opcode) /* AND.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c120_0)(uae_u32 opcode) /* AND.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c128_0)(uae_u32 opcode) /* AND.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c130_0)(uae_u32 opcode) /* AND.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c138_0)(uae_u32 opcode) /* AND.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c139_0)(uae_u32 opcode) /* AND.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_c140_0)(uae_u32 opcode) /* EXG.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + m68k_dreg(regs, srcreg) = (dst); + m68k_dreg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_c148_0)(uae_u32 opcode) /* EXG.L An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); + m68k_areg(regs, srcreg) = (dst); + m68k_areg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_c150_0)(uae_u32 opcode) /* AND.W Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c158_0)(uae_u32 opcode) /* AND.W Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c160_0)(uae_u32 opcode) /* AND.W Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c168_0)(uae_u32 opcode) /* AND.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c170_0)(uae_u32 opcode) /* AND.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c178_0)(uae_u32 opcode) /* AND.W Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c179_0)(uae_u32 opcode) /* AND.W Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_c188_0)(uae_u32 opcode) /* EXG.L Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); + m68k_dreg(regs, srcreg) = (dst); + m68k_areg(regs, dstreg) = (src); +}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_c190_0)(uae_u32 opcode) /* AND.L Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c198_0)(uae_u32 opcode) /* AND.L Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1a0_0)(uae_u32 opcode) /* AND.L Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1a8_0)(uae_u32 opcode) /* AND.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1b0_0)(uae_u32 opcode) /* AND.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1b8_0)(uae_u32 opcode) /* AND.L Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1b9_0)(uae_u32 opcode) /* AND.L Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1c0_0)(uae_u32 opcode) /* MULS.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1d0_0)(uae_u32 opcode) /* MULS.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1d8_0)(uae_u32 opcode) /* MULS.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1e0_0)(uae_u32 opcode) /* MULS.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1e8_0)(uae_u32 opcode) /* MULS.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1f0_0)(uae_u32 opcode) /* MULS.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1f8_0)(uae_u32 opcode) /* MULS.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1f9_0)(uae_u32 opcode) /* MULS.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1fa_0)(uae_u32 opcode) /* MULS.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1fb_0)(uae_u32 opcode) /* MULS.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1fc_0)(uae_u32 opcode) /* MULS.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d000_0)(uae_u32 opcode) /* ADD.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d010_0)(uae_u32 opcode) /* ADD.B (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d018_0)(uae_u32 opcode) /* ADD.B (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d020_0)(uae_u32 opcode) /* ADD.B -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d028_0)(uae_u32 opcode) /* ADD.B (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d030_0)(uae_u32 opcode) /* ADD.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d038_0)(uae_u32 opcode) /* ADD.B (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d039_0)(uae_u32 opcode) /* ADD.B (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d03a_0)(uae_u32 opcode) /* ADD.B (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d03b_0)(uae_u32 opcode) /* ADD.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d03c_0)(uae_u32 opcode) /* ADD.B #.B,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d040_0)(uae_u32 opcode) /* ADD.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d048_0)(uae_u32 opcode) /* ADD.W An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d050_0)(uae_u32 opcode) /* ADD.W (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d058_0)(uae_u32 opcode) /* ADD.W (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d060_0)(uae_u32 opcode) /* ADD.W -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d068_0)(uae_u32 opcode) /* ADD.W (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d070_0)(uae_u32 opcode) /* ADD.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d078_0)(uae_u32 opcode) /* ADD.W (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d079_0)(uae_u32 opcode) /* ADD.W (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d07a_0)(uae_u32 opcode) /* ADD.W (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d07b_0)(uae_u32 opcode) /* ADD.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d07c_0)(uae_u32 opcode) /* ADD.W #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d080_0)(uae_u32 opcode) /* ADD.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d088_0)(uae_u32 opcode) /* ADD.L An,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d090_0)(uae_u32 opcode) /* ADD.L (An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d098_0)(uae_u32 opcode) /* ADD.L (An)+,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0a0_0)(uae_u32 opcode) /* ADD.L -(An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0a8_0)(uae_u32 opcode) /* ADD.L (d16,An),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0b0_0)(uae_u32 opcode) /* ADD.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0b8_0)(uae_u32 opcode) /* ADD.L (xxx).W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0b9_0)(uae_u32 opcode) /* ADD.L (xxx).L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0ba_0)(uae_u32 opcode) /* ADD.L (d16,PC),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0bb_0)(uae_u32 opcode) /* ADD.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0bc_0)(uae_u32 opcode) /* ADD.L #.L,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0c0_0)(uae_u32 opcode) /* ADDA.W Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0c8_0)(uae_u32 opcode) /* ADDA.W An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0d0_0)(uae_u32 opcode) /* ADDA.W (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0d8_0)(uae_u32 opcode) /* ADDA.W (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0e0_0)(uae_u32 opcode) /* ADDA.W -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0e8_0)(uae_u32 opcode) /* ADDA.W (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0f0_0)(uae_u32 opcode) /* ADDA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0f8_0)(uae_u32 opcode) /* ADDA.W (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0f9_0)(uae_u32 opcode) /* ADDA.W (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0fa_0)(uae_u32 opcode) /* ADDA.W (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0fb_0)(uae_u32 opcode) /* ADDA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0fc_0)(uae_u32 opcode) /* ADDA.W #.W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_d100_0)(uae_u32 opcode) /* ADDX.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = dst + src + (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d108_0)(uae_u32 opcode) /* ADDX.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u32 newv = dst + src + (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d110_0)(uae_u32 opcode) /* ADD.B Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d118_0)(uae_u32 opcode) /* ADD.B Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s8 dst = get_byte(dsta); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d120_0)(uae_u32 opcode) /* ADD.B Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d128_0)(uae_u32 opcode) /* ADD.B Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d130_0)(uae_u32 opcode) /* ADD.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d138_0)(uae_u32 opcode) /* ADD.B Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d139_0)(uae_u32 opcode) /* ADD.B Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d140_0)(uae_u32 opcode) /* ADDX.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = dst + src + (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d148_0)(uae_u32 opcode) /* ADDX.W -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u32 newv = dst + src + (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d150_0)(uae_u32 opcode) /* ADD.W Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d158_0)(uae_u32 opcode) /* ADD.W Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s16 dst = get_word(dsta); + m68k_areg(regs, dstreg) += 2; +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d160_0)(uae_u32 opcode) /* ADD.W Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; +{ uae_s16 dst = get_word(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d168_0)(uae_u32 opcode) /* ADD.W Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d170_0)(uae_u32 opcode) /* ADD.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d178_0)(uae_u32 opcode) /* ADD.W Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d179_0)(uae_u32 opcode) /* ADD.W Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d180_0)(uae_u32 opcode) /* ADDX.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = dst + src + (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d188_0)(uae_u32 opcode) /* ADDX.L -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u32 newv = dst + src + (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgo) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d190_0)(uae_u32 opcode) /* ADD.L Dn,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d198_0)(uae_u32 opcode) /* ADD.L Dn,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 dst = get_long(dsta); + m68k_areg(regs, dstreg) += 4; +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d1a0_0)(uae_u32 opcode) /* ADD.L Dn,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; +{ uae_s32 dst = get_long(dsta); + m68k_areg (regs, dstreg) = dsta; +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d1a8_0)(uae_u32 opcode) /* ADD.L Dn,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d1b0_0)(uae_u32 opcode) /* ADD.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{m68k_incpc(2); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d1b8_0)(uae_u32 opcode) /* ADD.L Dn,(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d1b9_0)(uae_u32 opcode) /* ADD.L Dn,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_ilong(2); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1c0_0)(uae_u32 opcode) /* ADDA.L Dn,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1c8_0)(uae_u32 opcode) /* ADDA.L An,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1d0_0)(uae_u32 opcode) /* ADDA.L (An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1d8_0)(uae_u32 opcode) /* ADDA.L (An)+,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#endif + +#ifdef PART_8 +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1e0_0)(uae_u32 opcode) /* ADDA.L -(An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1e8_0)(uae_u32 opcode) /* ADDA.L (d16,An),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1f0_0)(uae_u32 opcode) /* ADDA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1f8_0)(uae_u32 opcode) /* ADDA.L (xxx).W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1f9_0)(uae_u32 opcode) /* ADDA.L (xxx).L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1fa_0)(uae_u32 opcode) /* ADDA.L (d16,PC),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1fb_0)(uae_u32 opcode) /* ADDA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{m68k_incpc(2); +{ uaecptr tmppc = m68k_getpc(); + uaecptr srca = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1fc_0)(uae_u32 opcode) /* ADDA.L #.L,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_e000_0)(uae_u32 opcode) /* ASR.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + uae_u32 sign = (0x80 & val) >> 7; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + val = 0xff & (uae_u32)-(uae_s32)sign; + SET_CFLG (sign); + COPY_CARRY; + } else { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + val |= (0xff << (8 - cnt)) & (uae_u32)-(uae_s32)sign; + val &= 0xff; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e008_0)(uae_u32 opcode) /* LSR.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + SET_CFLG ((cnt == 8) & (val >> 7)); + COPY_CARRY; + val = 0; + } else { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e010_0)(uae_u32 opcode) /* ROXR.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; +{ cnt--; + { + uae_u32 carry; + uae_u32 hival = (val << 1) | GET_XFLG; + hival <<= (7 - cnt); + val >>= cnt; + carry = val & 1; + val >>= 1; + val |= hival; + SET_XFLG (carry); + val &= 0xff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e018_0)(uae_u32 opcode) /* ROR.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; +{ uae_u32 hival; + cnt &= 7; + hival = val << (8 - cnt); + val >>= cnt; + val |= hival; + val &= 0xff; + SET_CFLG ((val & 0x80) >> 7); + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e020_0)(uae_u32 opcode) /* ASR.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + uae_u32 sign = (0x80 & val) >> 7; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + val = 0xff & (uae_u32)-(uae_s32)sign; + SET_CFLG (sign); + COPY_CARRY; + } else if (cnt > 0) { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + val |= (0xff << (8 - cnt)) & (uae_u32)-(uae_s32)sign; + val &= 0xff; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e028_0)(uae_u32 opcode) /* LSR.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + SET_CFLG ((cnt == 8) & (val >> 7)); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e030_0)(uae_u32 opcode) /* ROXR.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 36) cnt -= 36; + if (cnt >= 18) cnt -= 18; + if (cnt >= 9) cnt -= 9; + if (cnt > 0) { + cnt--; + { + uae_u32 carry; + uae_u32 hival = (val << 1) | GET_XFLG; + hival <<= (7 - cnt); + val >>= cnt; + carry = val & 1; + val >>= 1; + val |= hival; + SET_XFLG (carry); + val &= 0xff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e038_0)(uae_u32 opcode) /* ROR.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt > 0) { uae_u32 hival; + cnt &= 7; + hival = val << (8 - cnt); + val >>= cnt; + val |= hival; + val &= 0xff; + SET_CFLG ((val & 0x80) >> 7); + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e040_0)(uae_u32 opcode) /* ASR.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = (0x8000 & val) >> 15; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + val = 0xffff & (uae_u32)-(uae_s32)sign; + SET_CFLG (sign); + COPY_CARRY; + } else { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + val |= (0xffff << (16 - cnt)) & (uae_u32)-(uae_s32)sign; + val &= 0xffff; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e048_0)(uae_u32 opcode) /* LSR.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + SET_CFLG ((cnt == 16) & (val >> 15)); + COPY_CARRY; + val = 0; + } else { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e050_0)(uae_u32 opcode) /* ROXR.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; +{ cnt--; + { + uae_u32 carry; + uae_u32 hival = (val << 1) | GET_XFLG; + hival <<= (15 - cnt); + val >>= cnt; + carry = val & 1; + val >>= 1; + val |= hival; + SET_XFLG (carry); + val &= 0xffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e058_0)(uae_u32 opcode) /* ROR.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; +{ uae_u32 hival; + cnt &= 15; + hival = val << (16 - cnt); + val >>= cnt; + val |= hival; + val &= 0xffff; + SET_CFLG ((val & 0x8000) >> 15); + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e060_0)(uae_u32 opcode) /* ASR.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = (0x8000 & val) >> 15; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + val = 0xffff & (uae_u32)-(uae_s32)sign; + SET_CFLG (sign); + COPY_CARRY; + } else if (cnt > 0) { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + val |= (0xffff << (16 - cnt)) & (uae_u32)-(uae_s32)sign; + val &= 0xffff; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e068_0)(uae_u32 opcode) /* LSR.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + SET_CFLG ((cnt == 16) & (val >> 15)); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e070_0)(uae_u32 opcode) /* ROXR.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 34) cnt -= 34; + if (cnt >= 17) cnt -= 17; + if (cnt > 0) { + cnt--; + { + uae_u32 carry; + uae_u32 hival = (val << 1) | GET_XFLG; + hival <<= (15 - cnt); + val >>= cnt; + carry = val & 1; + val >>= 1; + val |= hival; + SET_XFLG (carry); + val &= 0xffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e078_0)(uae_u32 opcode) /* ROR.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt > 0) { uae_u32 hival; + cnt &= 15; + hival = val << (16 - cnt); + val >>= cnt; + val |= hival; + val &= 0xffff; + SET_CFLG ((val & 0x8000) >> 15); + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e080_0)(uae_u32 opcode) /* ASR.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + uae_u32 sign = (0x80000000 & val) >> 31; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + val = 0xffffffff & (uae_u32)-(uae_s32)sign; + SET_CFLG (sign); + COPY_CARRY; + } else { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + val |= (0xffffffff << (32 - cnt)) & (uae_u32)-(uae_s32)sign; + val &= 0xffffffff; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e088_0)(uae_u32 opcode) /* LSR.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + SET_CFLG ((cnt == 32) & (val >> 31)); + COPY_CARRY; + val = 0; + } else { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e090_0)(uae_u32 opcode) /* ROXR.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; +{ cnt--; + { + uae_u32 carry; + uae_u32 hival = (val << 1) | GET_XFLG; + hival <<= (31 - cnt); + val >>= cnt; + carry = val & 1; + val >>= 1; + val |= hival; + SET_XFLG (carry); + val &= 0xffffffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e098_0)(uae_u32 opcode) /* ROR.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; +{ uae_u32 hival; + cnt &= 31; + hival = val << (32 - cnt); + val >>= cnt; + val |= hival; + val &= 0xffffffff; + SET_CFLG ((val & 0x80000000) >> 31); + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0a0_0)(uae_u32 opcode) /* ASR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + uae_u32 sign = (0x80000000 & val) >> 31; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + val = 0xffffffff & (uae_u32)-(uae_s32)sign; + SET_CFLG (sign); + COPY_CARRY; + } else if (cnt > 0) { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + val |= (0xffffffff << (32 - cnt)) & (uae_u32)-(uae_s32)sign; + val &= 0xffffffff; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0a8_0)(uae_u32 opcode) /* LSR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + SET_CFLG ((cnt == 32) & (val >> 31)); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + val >>= cnt - 1; + SET_CFLG (val & 1); + COPY_CARRY; + val >>= 1; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0b0_0)(uae_u32 opcode) /* ROXR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 33) cnt -= 33; + if (cnt > 0) { + cnt--; + { + uae_u32 carry; + uae_u32 hival = (val << 1) | GET_XFLG; + hival <<= (31 - cnt); + val >>= cnt; + carry = val & 1; + val >>= 1; + val |= hival; + SET_XFLG (carry); + val &= 0xffffffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0b8_0)(uae_u32 opcode) /* ROR.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt > 0) { uae_u32 hival; + cnt &= 31; + hival = val << (32 - cnt); + val >>= cnt; + val |= hival; + val &= 0xffffffff; + SET_CFLG ((val & 0x80000000) >> 31); + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0d0_0)(uae_u32 opcode) /* ASRW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0d8_0)(uae_u32 opcode) /* ASRW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0e0_0)(uae_u32 opcode) /* ASRW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0e8_0)(uae_u32 opcode) /* ASRW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0f0_0)(uae_u32 opcode) /* ASRW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0f8_0)(uae_u32 opcode) /* ASRW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e0f9_0)(uae_u32 opcode) /* ASRW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e100_0)(uae_u32 opcode) /* ASL.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + SET_VFLG (val != 0); + SET_CFLG (cnt == 8 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else { + uae_u32 mask = (0xff << (7 - cnt)) & 0xff; + SET_VFLG ((val & mask) != mask && (val & mask) != 0); + val <<= cnt - 1; + SET_CFLG ((val & 0x80) >> 7); + COPY_CARRY; + val <<= 1; + val &= 0xff; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e108_0)(uae_u32 opcode) /* LSL.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + SET_CFLG (cnt == 8 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else { + val <<= (cnt - 1); + SET_CFLG ((val & 0x80) >> 7); + COPY_CARRY; + val <<= 1; + val &= 0xff; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e110_0)(uae_u32 opcode) /* ROXL.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; +{ cnt--; + { + uae_u32 carry; + uae_u32 loval = val >> (7 - cnt); + carry = loval & 1; + val = (((val << 1) | GET_XFLG) << cnt) | (loval >> 1); + SET_XFLG (carry); + val &= 0xff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e118_0)(uae_u32 opcode) /* ROL.B #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; +{ uae_u32 loval; + cnt &= 7; + loval = val >> (8 - cnt); + val <<= cnt; + val |= loval; + val &= 0xff; + SET_CFLG (val & 1); +} + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e120_0)(uae_u32 opcode) /* ASL.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + SET_VFLG (val != 0); + SET_CFLG (cnt == 8 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + uae_u32 mask = (0xff << (7 - cnt)) & 0xff; + SET_VFLG ((val & mask) != mask && (val & mask) != 0); + val <<= cnt - 1; + SET_CFLG ((val & 0x80) >> 7); + COPY_CARRY; + val <<= 1; + val &= 0xff; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e128_0)(uae_u32 opcode) /* LSL.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 8) { + SET_CFLG (cnt == 8 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + val <<= (cnt - 1); + SET_CFLG ((val & 0x80) >> 7); + COPY_CARRY; + val <<= 1; + val &= 0xff; + } + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e130_0)(uae_u32 opcode) /* ROXL.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 36) cnt -= 36; + if (cnt >= 18) cnt -= 18; + if (cnt >= 9) cnt -= 9; + if (cnt > 0) { + cnt--; + { + uae_u32 carry; + uae_u32 loval = val >> (7 - cnt); + carry = loval & 1; + val = (((val << 1) | GET_XFLG) << cnt) | (loval >> 1); + SET_XFLG (carry); + val &= 0xff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e138_0)(uae_u32 opcode) /* ROL.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 cnt = m68k_dreg(regs, srcreg); +{ uae_s8 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u8)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt > 0) { + uae_u32 loval; + cnt &= 7; + loval = val >> (8 - cnt); + val <<= cnt; + val |= loval; + val &= 0xff; + SET_CFLG (val & 1); +} + SET_ZFLG (((uae_s8)(val)) == 0); + SET_NFLG (((uae_s8)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((val) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e140_0)(uae_u32 opcode) /* ASL.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + SET_VFLG (val != 0); + SET_CFLG (cnt == 16 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else { + uae_u32 mask = (0xffff << (15 - cnt)) & 0xffff; + SET_VFLG ((val & mask) != mask && (val & mask) != 0); + val <<= cnt - 1; + SET_CFLG ((val & 0x8000) >> 15); + COPY_CARRY; + val <<= 1; + val &= 0xffff; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e148_0)(uae_u32 opcode) /* LSL.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + SET_CFLG (cnt == 16 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else { + val <<= (cnt - 1); + SET_CFLG ((val & 0x8000) >> 15); + COPY_CARRY; + val <<= 1; + val &= 0xffff; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e150_0)(uae_u32 opcode) /* ROXL.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; +{ cnt--; + { + uae_u32 carry; + uae_u32 loval = val >> (15 - cnt); + carry = loval & 1; + val = (((val << 1) | GET_XFLG) << cnt) | (loval >> 1); + SET_XFLG (carry); + val &= 0xffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e158_0)(uae_u32 opcode) /* ROL.W #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; +{ uae_u32 loval; + cnt &= 15; + loval = val >> (16 - cnt); + val <<= cnt; + val |= loval; + val &= 0xffff; + SET_CFLG (val & 1); +} + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e160_0)(uae_u32 opcode) /* ASL.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + SET_VFLG (val != 0); + SET_CFLG (cnt == 16 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + uae_u32 mask = (0xffff << (15 - cnt)) & 0xffff; + SET_VFLG ((val & mask) != mask && (val & mask) != 0); + val <<= cnt - 1; + SET_CFLG ((val & 0x8000) >> 15); + COPY_CARRY; + val <<= 1; + val &= 0xffff; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e168_0)(uae_u32 opcode) /* LSL.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 16) { + SET_CFLG (cnt == 16 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + val <<= (cnt - 1); + SET_CFLG ((val & 0x8000) >> 15); + COPY_CARRY; + val <<= 1; + val &= 0xffff; + } + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e170_0)(uae_u32 opcode) /* ROXL.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 34) cnt -= 34; + if (cnt >= 17) cnt -= 17; + if (cnt > 0) { + cnt--; + { + uae_u32 carry; + uae_u32 loval = val >> (15 - cnt); + carry = loval & 1; + val = (((val << 1) | GET_XFLG) << cnt) | (loval >> 1); + SET_XFLG (carry); + val &= 0xffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e178_0)(uae_u32 opcode) /* ROL.W Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 cnt = m68k_dreg(regs, srcreg); +{ uae_s16 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = (uae_u16)data; + cnt &= 63; + CLEAR_CZNV; + if (cnt > 0) { + uae_u32 loval; + cnt &= 15; + loval = val >> (16 - cnt); + val <<= cnt; + val |= loval; + val &= 0xffff; + SET_CFLG (val & 1); +} + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((val) & 0xffff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e180_0)(uae_u32 opcode) /* ASL.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + SET_VFLG (val != 0); + SET_CFLG (cnt == 32 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else { + uae_u32 mask = (0xffffffff << (31 - cnt)) & 0xffffffff; + SET_VFLG ((val & mask) != mask && (val & mask) != 0); + val <<= cnt - 1; + SET_CFLG ((val & 0x80000000) >> 31); + COPY_CARRY; + val <<= 1; + val &= 0xffffffff; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e188_0)(uae_u32 opcode) /* LSL.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + SET_CFLG (cnt == 32 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else { + val <<= (cnt - 1); + SET_CFLG ((val & 0x80000000) >> 31); + COPY_CARRY; + val <<= 1; + val &= 0xffffffff; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e190_0)(uae_u32 opcode) /* ROXL.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; +{ cnt--; + { + uae_u32 carry; + uae_u32 loval = val >> (31 - cnt); + carry = loval & 1; + val = (((val << 1) | GET_XFLG) << cnt) | (loval >> 1); + SET_XFLG (carry); + val &= 0xffffffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e198_0)(uae_u32 opcode) /* ROL.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 cnt = srcreg; +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; +{ uae_u32 loval; + cnt &= 31; + loval = val >> (32 - cnt); + val <<= cnt; + val |= loval; + val &= 0xffffffff; + SET_CFLG (val & 1); +} + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1a0_0)(uae_u32 opcode) /* ASL.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + SET_VFLG (val != 0); + SET_CFLG (cnt == 32 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + uae_u32 mask = (0xffffffff << (31 - cnt)) & 0xffffffff; + SET_VFLG ((val & mask) != mask && (val & mask) != 0); + val <<= cnt - 1; + SET_CFLG ((val & 0x80000000) >> 31); + COPY_CARRY; + val <<= 1; + val &= 0xffffffff; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1a8_0)(uae_u32 opcode) /* LSL.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 32) { + SET_CFLG (cnt == 32 ? val & 1 : 0); + COPY_CARRY; + val = 0; + } else if (cnt > 0) { + val <<= (cnt - 1); + SET_CFLG ((val & 0x80000000) >> 31); + COPY_CARRY; + val <<= 1; + val &= 0xffffffff; + } + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1b0_0)(uae_u32 opcode) /* ROXL.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt >= 33) cnt -= 33; + if (cnt > 0) { + cnt--; + { + uae_u32 carry; + uae_u32 loval = val >> (31 - cnt); + carry = loval & 1; + val = (((val << 1) | GET_XFLG) << cnt) | (loval >> 1); + SET_XFLG (carry); + val &= 0xffffffff; + } } + SET_CFLG (GET_XFLG); + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1b8_0)(uae_u32 opcode) /* ROL.L Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 cnt = m68k_dreg(regs, srcreg); +{ uae_s32 data = m68k_dreg(regs, dstreg); +{ uae_u32 val = data; + cnt &= 63; + CLEAR_CZNV; + if (cnt > 0) { + uae_u32 loval; + cnt &= 31; + loval = val >> (32 - cnt); + val <<= cnt; + val |= loval; + val &= 0xffffffff; + SET_CFLG (val & 1); +} + SET_ZFLG (((uae_s32)(val)) == 0); + SET_NFLG (((uae_s32)(val)) < 0); + m68k_dreg(regs, dstreg) = (val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1d0_0)(uae_u32 opcode) /* ASLW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1d8_0)(uae_u32 opcode) /* ASLW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1e0_0)(uae_u32 opcode) /* ASLW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1e8_0)(uae_u32 opcode) /* ASLW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1f0_0)(uae_u32 opcode) /* ASLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1f8_0)(uae_u32 opcode) /* ASLW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1f9_0)(uae_u32 opcode) /* ASLW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2d0_0)(uae_u32 opcode) /* LSRW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2d8_0)(uae_u32 opcode) /* LSRW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2e0_0)(uae_u32 opcode) /* LSRW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2e8_0)(uae_u32 opcode) /* LSRW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2f0_0)(uae_u32 opcode) /* LSRW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2f8_0)(uae_u32 opcode) /* LSRW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2f9_0)(uae_u32 opcode) /* LSRW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3d0_0)(uae_u32 opcode) /* LSLW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3d8_0)(uae_u32 opcode) /* LSLW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3e0_0)(uae_u32 opcode) /* LSLW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3e8_0)(uae_u32 opcode) /* LSLW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3f0_0)(uae_u32 opcode) /* LSLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3f8_0)(uae_u32 opcode) /* LSLW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3f9_0)(uae_u32 opcode) /* LSLW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4d0_0)(uae_u32 opcode) /* ROXRW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4d8_0)(uae_u32 opcode) /* ROXRW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4e0_0)(uae_u32 opcode) /* ROXRW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4e8_0)(uae_u32 opcode) /* ROXRW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4f0_0)(uae_u32 opcode) /* ROXRW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4f8_0)(uae_u32 opcode) /* ROXRW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4f9_0)(uae_u32 opcode) /* ROXRW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5d0_0)(uae_u32 opcode) /* ROXLW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5d8_0)(uae_u32 opcode) /* ROXLW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5e0_0)(uae_u32 opcode) /* ROXLW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5e8_0)(uae_u32 opcode) /* ROXLW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5f0_0)(uae_u32 opcode) /* ROXLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5f8_0)(uae_u32 opcode) /* ROXLW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5f9_0)(uae_u32 opcode) /* ROXLW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6d0_0)(uae_u32 opcode) /* RORW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6d8_0)(uae_u32 opcode) /* RORW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6e0_0)(uae_u32 opcode) /* RORW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6e8_0)(uae_u32 opcode) /* RORW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6f0_0)(uae_u32 opcode) /* RORW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6f8_0)(uae_u32 opcode) /* RORW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6f9_0)(uae_u32 opcode) /* RORW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7d0_0)(uae_u32 opcode) /* ROLW.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7d8_0)(uae_u32 opcode) /* ROLW.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg); +{ uae_s16 data = get_word(dataa); + m68k_areg(regs, srcreg) += 2; +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7e0_0)(uae_u32 opcode) /* ROLW.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) - 2; +{ uae_s16 data = get_word(dataa); + m68k_areg (regs, srcreg) = dataa; +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7e8_0)(uae_u32 opcode) /* ROLW.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7f0_0)(uae_u32 opcode) /* ROLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7f8_0)(uae_u32 opcode) /* ROLW.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr dataa = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7f9_0)(uae_u32 opcode) /* ROLW.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr dataa = get_ilong(2); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8c0_0)(uae_u32 opcode) /* BFTST.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8d0_0)(uae_u32 opcode) /* BFTST.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8e8_0)(uae_u32 opcode) /* BFTST.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8f0_0)(uae_u32 opcode) /* BFTST.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8f8_0)(uae_u32 opcode) /* BFTST.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8f9_0)(uae_u32 opcode) /* BFTST.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8fa_0)(uae_u32 opcode) /* BFTST.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e8fb_0)(uae_u32 opcode) /* BFTST.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9c0_0)(uae_u32 opcode) /* BFEXTU.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9d0_0)(uae_u32 opcode) /* BFEXTU.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9e8_0)(uae_u32 opcode) /* BFEXTU.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9f0_0)(uae_u32 opcode) /* BFEXTU.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9f8_0)(uae_u32 opcode) /* BFEXTU.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9f9_0)(uae_u32 opcode) /* BFEXTU.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9fa_0)(uae_u32 opcode) /* BFEXTU.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e9fb_0)(uae_u32 opcode) /* BFEXTU.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eac0_0)(uae_u32 opcode) /* BFCHG.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = ~tmp; + tmp <<= (32 - width); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 : + (0xffffffff << (32 - (offset & 0x1f))))) | + (tmp >> (offset & 0x1f)) | + (((offset & 0x1f) + width) >= 32 ? 0 : + (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width)))); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ead0_0)(uae_u32 opcode) /* BFCHG.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = ~tmp; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eae8_0)(uae_u32 opcode) /* BFCHG.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = ~tmp; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eaf0_0)(uae_u32 opcode) /* BFCHG.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = ~tmp; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eaf8_0)(uae_u32 opcode) /* BFCHG.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = ~tmp; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eaf9_0)(uae_u32 opcode) /* BFCHG.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = ~tmp; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebc0_0)(uae_u32 opcode) /* BFEXTS.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebd0_0)(uae_u32 opcode) /* BFEXTS.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebe8_0)(uae_u32 opcode) /* BFEXTS.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebf0_0)(uae_u32 opcode) /* BFEXTS.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebf8_0)(uae_u32 opcode) /* BFEXTS.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebf9_0)(uae_u32 opcode) /* BFEXTS.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebfa_0)(uae_u32 opcode) /* BFEXTS.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ebfb_0)(uae_u32 opcode) /* BFEXTS.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + if (GET_NFLG) tmp |= width == 32 ? 0 : (-1 << width); + m68k_dreg(regs, (extra >> 12) & 7) = tmp; +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ecc0_0)(uae_u32 opcode) /* BFCLR.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0; + tmp <<= (32 - width); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 : + (0xffffffff << (32 - (offset & 0x1f))))) | + (tmp >> (offset & 0x1f)) | + (((offset & 0x1f) + width) >= 32 ? 0 : + (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width)))); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ecd0_0)(uae_u32 opcode) /* BFCLR.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ece8_0)(uae_u32 opcode) /* BFCLR.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ecf0_0)(uae_u32 opcode) /* BFCLR.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ecf8_0)(uae_u32 opcode) /* BFCLR.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ecf9_0)(uae_u32 opcode) /* BFCLR.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edc0_0)(uae_u32 opcode) /* BFFFO.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edd0_0)(uae_u32 opcode) /* BFFFO.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_ede8_0)(uae_u32 opcode) /* BFFFO.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edf0_0)(uae_u32 opcode) /* BFFFO.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edf8_0)(uae_u32 opcode) /* BFFFO.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edf9_0)(uae_u32 opcode) /* BFFFO.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edfa_0)(uae_u32 opcode) /* BFFFO.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_getpc () + 4; + dsta += (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_edfb_0)(uae_u32 opcode) /* BFFFO.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr tmppc = m68k_getpc(); + uaecptr dsta = get_disp_ea_020(tmppc, next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + { uae_u32 mask = 1 << (width-1); + while (mask) { if (tmp & mask) break; mask >>= 1; offset++; }} + m68k_dreg(regs, (extra >> 12) & 7) = offset; +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eec0_0)(uae_u32 opcode) /* BFSET.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0xffffffff; + tmp <<= (32 - width); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 : + (0xffffffff << (32 - (offset & 0x1f))))) | + (tmp >> (offset & 0x1f)) | + (((offset & 0x1f) + width) >= 32 ? 0 : + (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width)))); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eed0_0)(uae_u32 opcode) /* BFSET.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0xffffffff; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eee8_0)(uae_u32 opcode) /* BFSET.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0xffffffff; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eef0_0)(uae_u32 opcode) /* BFSET.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0xffffffff; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eef8_0)(uae_u32 opcode) /* BFSET.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0xffffffff; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eef9_0)(uae_u32 opcode) /* BFSET.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = 0xffffffff; + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_efc0_0)(uae_u32 opcode) /* BFINS.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp = m68k_dreg(regs, dstreg) << (offset & 0x1f); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = m68k_dreg(regs, (extra >> 12) & 7); + SET_NFLG_ALWAYS (tmp & (1 << (width - 1)) ? 1 : 0); + SET_ZFLG (tmp == 0); + tmp <<= (32 - width); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ((offset & 0x1f) == 0 ? 0 : + (0xffffffff << (32 - (offset & 0x1f))))) | + (tmp >> (offset & 0x1f)) | + (((offset & 0x1f) + width) >= 32 ? 0 : + (m68k_dreg(regs, dstreg) & ((uae_u32)0xffffffff >> ((offset & 0x1f) + width)))); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_efd0_0)(uae_u32 opcode) /* BFINS.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = m68k_dreg(regs, (extra >> 12) & 7); + SET_NFLG_ALWAYS (tmp & (1 << (width - 1)) ? 1 : 0); + SET_ZFLG (tmp == 0); + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_efe8_0)(uae_u32 opcode) /* BFINS.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = m68k_dreg(regs, (extra >> 12) & 7); + SET_NFLG_ALWAYS (tmp & (1 << (width - 1)) ? 1 : 0); + SET_ZFLG (tmp == 0); + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eff0_0)(uae_u32 opcode) /* BFINS.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +{m68k_incpc(4); +{ uaecptr dsta = get_disp_ea_020(m68k_areg(regs, dstreg), next_iword()); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = m68k_dreg(regs, (extra >> 12) & 7); + SET_NFLG_ALWAYS (tmp & (1 << (width - 1)) ? 1 : 0); + SET_ZFLG (tmp == 0); + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eff8_0)(uae_u32 opcode) /* BFINS.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = m68k_dreg(regs, (extra >> 12) & 7); + SET_NFLG_ALWAYS (tmp & (1 << (width - 1)) ? 1 : 0); + SET_ZFLG (tmp == 0); + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_eff9_0)(uae_u32 opcode) /* BFINS.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +{ uaecptr dsta = get_ilong(4); +{ uae_s32 offset = extra & 0x800 ? m68k_dreg(regs, (extra >> 6) & 7) : (extra >> 6) & 0x1f; + int width = (((extra & 0x20 ? m68k_dreg(regs, extra & 7) : extra) -1) & 0x1f) +1; + uae_u32 tmp,bf0,bf1; + dsta += (offset >> 3) | (offset & 0x80000000 ? ~0x1fffffff : 0); + bf0 = get_long(dsta);bf1 = get_byte(dsta+4) & 0xff; + tmp = (bf0 << (offset & 7)) | (bf1 >> (8 - (offset & 7))); + tmp >>= (32 - width); + SET_NFLG_ALWAYS (tmp & (1 << (width-1)) ? 1 : 0); + SET_ZFLG (tmp == 0); SET_VFLG (0); SET_CFLG (0); + tmp = m68k_dreg(regs, (extra >> 12) & 7); + SET_NFLG_ALWAYS (tmp & (1 << (width - 1)) ? 1 : 0); + SET_ZFLG (tmp == 0); + tmp <<= (32 - width); + bf0 = (bf0 & (0xff000000 << (8 - (offset & 7)))) | + (tmp >> (offset & 7)) | + (((offset & 7) + width) >= 32 ? 0 : + (bf0 & ((uae_u32)0xffffffff >> ((offset & 7) + width)))); + put_long(dsta,bf0 ); + if (((offset & 7) + width) > 32) { + bf1 = (bf1 & (0xff >> (width - 32 + (offset & 7)))) | + (tmp << (8 - (offset & 7))); + put_byte(dsta+4,bf1); + } +}}}}m68k_incpc(8); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f200_0)(uae_u32 opcode) /* FPP.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f208_0)(uae_u32 opcode) /* FPP.L #.W,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f210_0)(uae_u32 opcode) /* FPP.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f218_0)(uae_u32 opcode) /* FPP.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f220_0)(uae_u32 opcode) /* FPP.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f228_0)(uae_u32 opcode) /* FPP.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f230_0)(uae_u32 opcode) /* FPP.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f238_0)(uae_u32 opcode) /* FPP.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f239_0)(uae_u32 opcode) /* FPP.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f23a_0)(uae_u32 opcode) /* FPP.L #.W,(d16,PC) */ +{ + cpuop_begin(); + uae_u32 dstreg = 2; +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f23b_0)(uae_u32 opcode) /* FPP.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f23c_0)(uae_u32 opcode) /* FPP.L #.W,#.L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_arithmetic(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f240_0)(uae_u32 opcode) /* FScc.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f248_0)(uae_u32 opcode) /* FDBcc.L #.W,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_dbcc(opcode, extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f250_0)(uae_u32 opcode) /* FScc.L #.W,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f258_0)(uae_u32 opcode) /* FScc.L #.W,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f260_0)(uae_u32 opcode) /* FScc.L #.W,-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f268_0)(uae_u32 opcode) /* FScc.L #.W,(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f270_0)(uae_u32 opcode) /* FScc.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f278_0)(uae_u32 opcode) /* FScc.L #.W,(xxx).W */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f279_0)(uae_u32 opcode) /* FScc.L #.W,(xxx).L */ +{ + cpuop_begin(); +{{ uae_s16 extra = get_iword(2); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_scc(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f27a_0)(uae_u32 opcode) /* FTRAPcc.L #.W */ +{ + cpuop_begin(); +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s16 dummy = get_iword(0); +m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_trapcc(opcode,oldpc); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f27b_0)(uae_u32 opcode) /* FTRAPcc.L #.L */ +{ + cpuop_begin(); +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +{ uae_s32 dummy = get_ilong(0); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_trapcc(opcode,oldpc); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f27c_0)(uae_u32 opcode) /* FTRAPcc.L */ +{ + cpuop_begin(); +{m68k_incpc(2); +{ uaecptr oldpc = m68k_getpc(); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_trapcc(opcode,oldpc); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f280_0)(uae_u32 opcode) /* FBcc.L #,#.W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 63); +#else + uae_u32 srcreg = (opcode & 63); +#endif +{m68k_incpc(2); +{ uaecptr pc = m68k_getpc(); +{ uae_s16 extra = get_iword(0); +m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_bcc(opcode,pc,extra); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f2c0_0)(uae_u32 opcode) /* FBcc.L #,#.L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 63); +#else + uae_u32 srcreg = (opcode & 63); +#endif +{m68k_incpc(2); +{ uaecptr pc = m68k_getpc(); +{ uae_s32 extra = get_ilong(0); +m68k_incpc(4); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_bcc(opcode,pc,extra); +}}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f310_0)(uae_u32 opcode) /* FSAVE.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1829; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_save(opcode); +}}endlabel1829: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f320_0)(uae_u32 opcode) /* FSAVE.L -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1830; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_save(opcode); +}}endlabel1830: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f328_0)(uae_u32 opcode) /* FSAVE.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1831; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_save(opcode); +}}endlabel1831: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f330_0)(uae_u32 opcode) /* FSAVE.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1832; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_save(opcode); +}}endlabel1832: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f338_0)(uae_u32 opcode) /* FSAVE.L (xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel1833; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_save(opcode); +}}endlabel1833: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f339_0)(uae_u32 opcode) /* FSAVE.L (xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel1834; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_save(opcode); +}}endlabel1834: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f350_0)(uae_u32 opcode) /* FRESTORE.L (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1835; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1835: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f358_0)(uae_u32 opcode) /* FRESTORE.L (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1836; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1836: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f368_0)(uae_u32 opcode) /* FRESTORE.L (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1837; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1837: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f370_0)(uae_u32 opcode) /* FRESTORE.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1838; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1838: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f378_0)(uae_u32 opcode) /* FRESTORE.L (xxx).W */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel1839; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1839: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f379_0)(uae_u32 opcode) /* FRESTORE.L (xxx).L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel1840; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1840: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f37a_0)(uae_u32 opcode) /* FRESTORE.L (d16,PC) */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel1841; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1841: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f37b_0)(uae_u32 opcode) /* FRESTORE.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel1842; } +{m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + fpuop_restore(opcode); +}}endlabel1842: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f408_0)(uae_u32 opcode) /* CINVL.L #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1843; } +{ if (srcreg&0x2) + flush_icache(31); +}}m68k_incpc(2); +endlabel1843: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f410_0)(uae_u32 opcode) /* CINVP.L #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1844; } +{ if (srcreg&0x2) + flush_icache(32); +}}m68k_incpc(2); +endlabel1844: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f418_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1845; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1845: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f419_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1846; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1846: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f41a_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1847; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1847: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f41b_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1848; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1848: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f41c_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1849; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1849: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f41d_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1850; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1850: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f41e_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1851; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1851: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f41f_0)(uae_u32 opcode) /* CINVA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1852; } +{ if (srcreg&0x2) + flush_icache(33); +}}m68k_incpc(2); +endlabel1852: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f428_0)(uae_u32 opcode) /* CPUSHL.L #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1853; } +{ if (srcreg&0x2) + flush_icache(41); +}}m68k_incpc(2); +endlabel1853: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f430_0)(uae_u32 opcode) /* CPUSHP.L #,An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1854; } +{ if (srcreg&0x2) + flush_icache(42); +}}m68k_incpc(2); +endlabel1854: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f438_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1855; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1855: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f439_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1856; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1856: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f43a_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1857; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1857: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f43b_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1858; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1858: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f43c_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1859; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1859: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f43d_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1860; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1860: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f43e_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1861; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1861: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f43f_0)(uae_u32 opcode) /* CPUSHA.L # */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 14) & 3); +#else + uae_u32 srcreg = ((opcode >> 6) & 3); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel1862; } +{ if (srcreg&0x2) + flush_icache(43); +}}m68k_incpc(2); +endlabel1862: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f500_0)(uae_u32 opcode) /* MMUOP.L #,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = (uae_s32)(uae_s8)(((opcode >> 11) | (opcode << 5)) & 7); +#else + uae_u32 srcreg = (uae_s32)(uae_s8)((opcode >> 3) & 255); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 extra = srcreg; +m68k_incpc(2); +#ifdef HAVE_GET_WORD_UNSWAPPED + opcode = ((opcode << 8) & 0xFF00) | ((opcode >> 8) & 0xFF); +#endif + mmu_op(opcode,extra); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f600_0)(uae_u32 opcode) /* MOVE16.L (An)+,(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr memsa = m68k_areg(regs, srcreg); +{ uaecptr memda = get_ilong(2); + memsa &= ~15; + memda &= ~15; + put_long(memda, get_long(memsa)); + put_long(memda+4, get_long(memsa+4)); + put_long(memda+8, get_long(memsa+8)); + put_long(memda+12, get_long(memsa+12)); + m68k_areg(regs, srcreg) += 16; +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f608_0)(uae_u32 opcode) /* MOVE16.L (xxx).L,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uaecptr memsa = get_ilong(2); +{ uaecptr memda = m68k_areg(regs, dstreg); + memsa &= ~15; + memda &= ~15; + put_long(memda, get_long(memsa)); + put_long(memda+4, get_long(memsa+4)); + put_long(memda+8, get_long(memsa+8)); + put_long(memda+12, get_long(memsa+12)); + m68k_areg(regs, dstreg) += 16; +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f610_0)(uae_u32 opcode) /* MOVE16.L (An),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr memsa = m68k_areg(regs, srcreg); +{ uaecptr memda = get_ilong(2); + memsa &= ~15; + memda &= ~15; + put_long(memda, get_long(memsa)); + put_long(memda+4, get_long(memsa+4)); + put_long(memda+8, get_long(memsa+8)); + put_long(memda+12, get_long(memsa+12)); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f618_0)(uae_u32 opcode) /* MOVE16.L (xxx).L,(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uaecptr memsa = get_ilong(2); +{ uaecptr memda = m68k_areg(regs, dstreg); + memsa &= ~15; + memda &= ~15; + put_long(memda, get_long(memsa)); + put_long(memda+4, get_long(memsa+4)); + put_long(memda+8, get_long(memsa+8)); + put_long(memda+12, get_long(memsa+12)); +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_f620_0)(uae_u32 opcode) /* MOVE16.L (An)+,(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif + uae_u32 dstreg = 0; +{ uaecptr mems = m68k_areg(regs, srcreg) & ~15, memd; + dstreg = (get_iword(2) >> 12) & 7; + memd = m68k_areg(regs, dstreg) & ~15; + put_long(memd, get_long(mems)); + put_long(memd+4, get_long(mems+4)); + put_long(memd+8, get_long(mems+8)); + put_long(memd+12, get_long(mems+12)); + if (srcreg != dstreg) + m68k_areg(regs, srcreg) += 16; + m68k_areg(regs, dstreg) += 16; +}m68k_incpc(4); + cpuop_end(); +} + +#endif +#endif + + +#ifdef _MSC_VER +#pragma warning(disable:4102) /* unreferenced label */ +#endif + +#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8) +#define PART_1 1 +#define PART_2 1 +#define PART_3 1 +#define PART_4 1 +#define PART_5 1 +#define PART_6 1 +#define PART_7 1 +#define PART_8 1 +#endif + +#ifdef PART_1 +#endif + +#ifdef PART_2 +#endif + +#ifdef PART_3 +#endif + +#ifdef PART_4 +void REGPARAM2 CPUFUNC(op_4800_1)(uae_u32 opcode) /* NBCD.B Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((newv) & 0xff); +}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4810_1)(uae_u32 opcode) /* NBCD.B (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4818_1)(uae_u32 opcode) /* NBCD.B (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4820_1)(uae_u32 opcode) /* NBCD.B -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4828_1)(uae_u32 opcode) /* NBCD.B (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4830_1)(uae_u32 opcode) /* NBCD.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{m68k_incpc(2); +{ uaecptr srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword()); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}} cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4838_1)(uae_u32 opcode) /* NBCD.B (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4839_1)(uae_u32 opcode) /* NBCD.B (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(6); + cpuop_end(); +} +#endif + +#ifdef PART_5 +#endif + +#ifdef PART_6 +void REGPARAM2 CPUFUNC(op_8100_1)(uae_u32 opcode) /* SBCD.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{ uae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (dst & 0xF0) - (src & 0xF0); + uae_u16 newv, tmp_newv; + int bcd = 0; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo & 0xF0) { newv -= 6; bcd = 6; }; + if ((((dst & 0xFF) - (src & 0xFF) - (GET_XFLG ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; } + SET_CFLG ((((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG ? 1 : 0)) & 0x300) > 0xFF); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + SET_VFLG ((tmp_newv & 0x80) != 0 && (newv & 0x80) == 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8108_1)(uae_u32 opcode) /* SBCD.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u16 newv_lo = (dst & 0xF) - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (dst & 0xF0) - (src & 0xF0); + uae_u16 newv, tmp_newv; + int bcd = 0; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo & 0xF0) { newv -= 6; bcd = 6; }; + if ((((dst & 0xFF) - (src & 0xFF) - (GET_XFLG ? 1 : 0)) & 0x100) > 0xFF) { newv -= 0x60; } + SET_CFLG ((((dst & 0xFF) - (src & 0xFF) - bcd - (GET_XFLG ? 1 : 0)) & 0x300) > 0xFF); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + SET_VFLG ((tmp_newv & 0x80) != 0 && (newv & 0x80) == 0); + put_byte(dsta,newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#endif + +#ifdef PART_7 +void REGPARAM2 CPUFUNC(op_c100_1)(uae_u32 opcode) /* ABCD.B Dn,Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{ uae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (src & 0xF0) + (dst & 0xF0); + uae_u16 newv, tmp_newv; + int cflg; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo > 9) { newv += 6; } + cflg = (newv & 0x3F0) > 0x90; + if (cflg) newv += 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + SET_VFLG ((tmp_newv & 0x80) == 0 && (newv & 0x80) != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}m68k_incpc(2); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c108_1)(uae_u32 opcode) /* ABCD.B -(An),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; +{ uae_s8 dst = get_byte(dsta); + m68k_areg (regs, dstreg) = dsta; +{ uae_u16 newv_lo = (src & 0xF) + (dst & 0xF) + (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = (src & 0xF0) + (dst & 0xF0); + uae_u16 newv, tmp_newv; + int cflg; + newv = tmp_newv = newv_hi + newv_lo; + if (newv_lo > 9) { newv += 6; } + cflg = (newv & 0x3F0) > 0x90; + if (cflg) newv += 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + SET_VFLG ((tmp_newv & 0x80) == 0 && (newv & 0x80) != 0); + put_byte(dsta,newv); +}}}}}}m68k_incpc(2); + cpuop_end(); +} +#endif + +#ifdef PART_8 +#endif + + +#ifdef _MSC_VER +#pragma warning(disable:4102) /* unreferenced label */ +#endif + +#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8) +#define PART_1 1 +#define PART_2 1 +#define PART_3 1 +#define PART_4 1 +#define PART_5 1 +#define PART_6 1 +#define PART_7 1 +#define PART_8 1 +#endif + +#ifdef PART_1 +#endif + +#ifdef PART_2 +#endif + +#ifdef PART_3 +#endif + +#ifdef PART_4 +#endif + +#ifdef PART_5 +#endif + +#ifdef PART_6 +#endif + +#ifdef PART_7 +#endif + +#ifdef PART_8 +#endif + + +#ifdef _MSC_VER +#pragma warning(disable:4102) /* unreferenced label */ +#endif + +#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8) +#define PART_1 1 +#define PART_2 1 +#define PART_3 1 +#define PART_4 1 +#define PART_5 1 +#define PART_6 1 +#define PART_7 1 +#define PART_8 1 +#endif + +#ifdef PART_1 +void REGPARAM2 CPUFUNC(op_30_3)(uae_u32 opcode) /* OR.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_70_3)(uae_u32 opcode) /* OR.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0_3)(uae_u32 opcode) /* OR.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_130_3)(uae_u32 opcode) /* BTST.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13b_3)(uae_u32 opcode) /* BTST.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_170_3)(uae_u32 opcode) /* BCHG.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_17b_3)(uae_u32 opcode) /* BCHG.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1b0_3)(uae_u32 opcode) /* BCLR.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1bb_3)(uae_u32 opcode) /* BCLR.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1f0_3)(uae_u32 opcode) /* BSET.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1fb_3)(uae_u32 opcode) /* BSET.B Dn,(d8,PC,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif + uae_u32 dstreg = 3; +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_230_3)(uae_u32 opcode) /* AND.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_270_3)(uae_u32 opcode) /* AND.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2b0_3)(uae_u32 opcode) /* AND.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_430_3)(uae_u32 opcode) /* SUB.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_470_3)(uae_u32 opcode) /* SUB.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4b0_3)(uae_u32 opcode) /* SUB.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_630_3)(uae_u32 opcode) /* ADD.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_670_3)(uae_u32 opcode) /* ADD.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_6b0_3)(uae_u32 opcode) /* ADD.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_830_3)(uae_u32 opcode) /* BTST.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_83b_3)(uae_u32 opcode) /* BTST.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_870_3)(uae_u32 opcode) /* BCHG.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_87b_3)(uae_u32 opcode) /* BCHG.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + dst ^= (1 << src); + SET_ZFLG (((uae_u32)dst & (1 << src)) >> src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8b0_3)(uae_u32 opcode) /* BCLR.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8bb_3)(uae_u32 opcode) /* BCLR.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst &= ~(1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8f0_3)(uae_u32 opcode) /* BSET.B #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8fb_3)(uae_u32 opcode) /* BSET.B #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src &= 7; + SET_ZFLG (1 ^ ((dst >> src) & 1)); + dst |= (1 << src); + put_byte(dsta,dst); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a30_3)(uae_u32 opcode) /* EOR.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_a70_3)(uae_u32 opcode) /* EOR.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +#endif + +#ifdef PART_2 +void REGPARAM2 CPUFUNC(op_ab0_3)(uae_u32 opcode) /* EOR.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c30_3)(uae_u32 opcode) /* CMP.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c3b_3)(uae_u32 opcode) /* CMP.B #.B,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s8 src = get_ibyte(2); +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(4)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c70_3)(uae_u32 opcode) /* CMP.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c7b_3)(uae_u32 opcode) /* CMP.W #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s16 src = get_iword(2); +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(4)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cb0_3)(uae_u32 opcode) /* CMP.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_cbb_3)(uae_u32 opcode) /* CMP.L #.L,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{{ uae_s32 src = get_ilong(2); +{ uaecptr tmppc = m68k_getpc() + 6; + uaecptr dsta = get_disp_ea_000(tmppc, get_iword(6)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1030_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_103b_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10b0_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10bb_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10f0_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_10fb_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += areg_byteinc[dstreg]; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1130_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_113b_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - areg_byteinc[dstreg]; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1170_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_117b_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1180_3)(uae_u32 opcode) /* MOVE.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1190_3)(uae_u32 opcode) /* MOVE.B (An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_1198_3)(uae_u32 opcode) /* MOVE.B (An)+,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s8 src = get_byte(srca); + m68k_areg(regs, srcreg) += areg_byteinc[srcreg]; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11a0_3)(uae_u32 opcode) /* MOVE.B -(An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg]; +{ uae_s8 src = get_byte(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11a8_3)(uae_u32 opcode) /* MOVE.B (d16,An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11b0_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11b8_3)(uae_u32 opcode) /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11b9_3)(uae_u32 opcode) /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11ba_3)(uae_u32 opcode) /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11bb_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11bc_3)(uae_u32 opcode) /* MOVE.B #.B,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s8 src = get_ibyte(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11f0_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_11fb_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13f0_3)(uae_u32 opcode) /* MOVE.B (d8,An,Xn),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_13fb_3)(uae_u32 opcode) /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2030_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_203b_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_2070_3)(uae_u32 opcode) /* MOVEA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_207b_3)(uae_u32 opcode) /* MOVEA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_u32 val = src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_20b0_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20bb_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20f0_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_20fb_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 4; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2130_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_213b_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 4; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +#endif + +#ifdef PART_3 +void REGPARAM2 CPUFUNC(op_2170_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_217b_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2180_3)(uae_u32 opcode) /* MOVE.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2188_3)(uae_u32 opcode) /* MOVE.L An,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2190_3)(uae_u32 opcode) /* MOVE.L (An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_2198_3)(uae_u32 opcode) /* MOVE.L (An)+,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s32 src = get_long(srca); + m68k_areg(regs, srcreg) += 4; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21a0_3)(uae_u32 opcode) /* MOVE.L -(An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 4; +{ uae_s32 src = get_long(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21a8_3)(uae_u32 opcode) /* MOVE.L (d16,An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21b0_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21b8_3)(uae_u32 opcode) /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21b9_3)(uae_u32 opcode) /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21ba_3)(uae_u32 opcode) /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21bb_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21bc_3)(uae_u32 opcode) /* MOVE.L #.L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s32 src = get_ilong(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21f0_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_21fb_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23f0_3)(uae_u32 opcode) /* MOVE.L (d8,An,Xn),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_23fb_3)(uae_u32 opcode) /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3030_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_303b_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_3070_3)(uae_u32 opcode) /* MOVEA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_307b_3)(uae_u32 opcode) /* MOVEA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_u32 val = (uae_s32)(uae_s16)src; + m68k_areg(regs, dstreg) = (val); +}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_30b0_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30bb_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30f0_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_30fb_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg); + m68k_areg(regs, dstreg) += 2; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3130_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_313b_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),-(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) - 2; + m68k_areg (regs, dstreg) = dsta; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3170_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_317b_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3180_3)(uae_u32 opcode) /* MOVE.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3188_3)(uae_u32 opcode) /* MOVE.W An,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = m68k_areg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3190_3)(uae_u32 opcode) /* MOVE.W (An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_3198_3)(uae_u32 opcode) /* MOVE.W (An)+,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); +{ uae_s16 src = get_word(srca); + m68k_areg(regs, srcreg) += 2; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31a0_3)(uae_u32 opcode) /* MOVE.W -(An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; +{ uae_s16 src = get_word(srca); + m68k_areg (regs, srcreg) = srca; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31a8_3)(uae_u32 opcode) /* MOVE.W (d16,An),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31b0_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31b8_3)(uae_u32 opcode) /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31b9_3)(uae_u32 opcode) /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_ilong(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(6)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31ba_3)(uae_u32 opcode) /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = m68k_getpc () + 2; + srca += (uae_s32)(uae_s16)get_iword(2); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31bb_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31bc_3)(uae_u32 opcode) /* MOVE.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uae_s16 src = get_iword(2); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31f0_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(xxx).W */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_31fb_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = (uae_s32)(uae_s16)get_iword(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(6); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33f0_3)(uae_u32 opcode) /* MOVE.W (d8,An,Xn),(xxx).L */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_33fb_3)(uae_u32 opcode) /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uaecptr dsta = get_ilong(4); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(8); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4030_3)(uae_u32 opcode) /* NEGX.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4070_3)(uae_u32 opcode) /* NEGX.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s16)(newv)) == 0)); + SET_NFLG (((uae_s16)(newv)) < 0); + put_word(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_40b0_3)(uae_u32 opcode) /* NEGX.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_u32 newv = 0 - src - (GET_XFLG ? 1 : 0); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_VFLG ((flgs ^ flgo) & (flgo ^ flgn)); + SET_CFLG (flgs ^ ((flgs ^ flgn) & (flgo ^ flgn))); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s32)(newv)) == 0)); + SET_NFLG (((uae_s32)(newv)) < 0); + put_long(srca,newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f0_3)(uae_u32 opcode) /* MVSR2.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel2002; } +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + MakeSR(); + put_word(srca,regs.sr); +}}}m68k_incpc(4); +endlabel2002: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4130_3)(uae_u32 opcode) /* CHK.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel2003; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel2003; } +}}}}m68k_incpc(4); +endlabel2003: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_413b_3)(uae_u32 opcode) /* CHK.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel2004; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel2004; } +}}}}m68k_incpc(4); +endlabel2004: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41b0_3)(uae_u32 opcode) /* CHK.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel2005; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel2005; } +}}}}m68k_incpc(4); +endlabel2005: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_41bb_3)(uae_u32 opcode) /* CHK.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + if ((uae_s32)dst < 0) { SET_NFLG (1); Exception(6,oldpc); goto endlabel2006; } + else if (dst > src) { SET_NFLG (0); Exception(6,oldpc); goto endlabel2006; } +}}}}m68k_incpc(4); +endlabel2006: ; + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41f0_3)(uae_u32 opcode) /* LEA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_41fb_3)(uae_u32 opcode) /* LEA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ m68k_areg(regs, dstreg) = (srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4230_3)(uae_u32 opcode) /* CLR.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(0)) == 0); + SET_NFLG (((uae_s8)(0)) < 0); + put_byte(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4270_3)(uae_u32 opcode) /* CLR.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(0)) == 0); + SET_NFLG (((uae_s16)(0)) < 0); + put_word(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +#endif + +#ifdef PART_4 +void REGPARAM2 CPUFUNC(op_42b0_3)(uae_u32 opcode) /* CLR.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(0)) == 0); + SET_NFLG (((uae_s32)(0)) < 0); + put_long(srca,0); +}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_42f0_3)(uae_u32 opcode) /* MVSR2.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + MakeSR(); + put_word(srca,regs.sr & 0xff); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4430_3)(uae_u32 opcode) /* NEG.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{{uae_u32 dst = ((uae_s8)(0)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(0)) < 0; + int flgn = ((uae_s8)(dst)) < 0; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4470_3)(uae_u32 opcode) /* NEG.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{{uae_u32 dst = ((uae_s16)(0)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(0)) < 0; + int flgn = ((uae_s16)(dst)) < 0; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44b0_3)(uae_u32 opcode) /* NEG.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{{uae_u32 dst = ((uae_s32)(0)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(0)) < 0; + int flgn = ((uae_s32)(dst)) < 0; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(0))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(srca,dst); +}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44f0_3)(uae_u32 opcode) /* MV2SR.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_44fb_3)(uae_u32 opcode) /* MV2SR.B (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); + MakeSR(); + regs.sr &= 0xFF00; + regs.sr |= src & 0xFF; + MakeFromSR(); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4630_3)(uae_u32 opcode) /* NOT.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(dst)) == 0); + SET_NFLG (((uae_s8)(dst)) < 0); + put_byte(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4670_3)(uae_u32 opcode) /* NOT.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(dst)) == 0); + SET_NFLG (((uae_s16)(dst)) < 0); + put_word(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46b0_3)(uae_u32 opcode) /* NOT.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_u32 dst = ~src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(dst)) == 0); + SET_NFLG (((uae_s32)(dst)) < 0); + put_long(srca,dst); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46f0_3)(uae_u32 opcode) /* MV2SR.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{if (!regs.s) { Exception(8,0); goto endlabel2021; } +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(4); +endlabel2021: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_46fb_3)(uae_u32 opcode) /* MV2SR.W (d8,PC,Xn) */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel2022; } +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); + regs.sr = src; + MakeFromSR(); +}}}}m68k_incpc(4); +endlabel2022: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4830_3)(uae_u32 opcode) /* NBCD.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_u16 newv_lo = - (src & 0xF) - (GET_XFLG ? 1 : 0); + uae_u16 newv_hi = - (src & 0xF0); + uae_u16 newv; + int cflg; + if (newv_lo > 9) { newv_lo -= 6; } + newv = newv_hi + newv_lo; + cflg = (newv & 0x1F0) > 0x90; + if (cflg) newv -= 0x60; + SET_CFLG (cflg); + COPY_CARRY; + SET_ZFLG (GET_ZFLG & (((uae_s8)(newv)) == 0)); + SET_NFLG (((uae_s8)(newv)) < 0); + put_byte(srca,newv); +}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4870_3)(uae_u32 opcode) /* PEA.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_487b_3)(uae_u32 opcode) /* PEA.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uaecptr dsta = m68k_areg(regs, 7) - 4; + m68k_areg (regs, 7) = dsta; + put_long(dsta,srca); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48b0_3)(uae_u32 opcode) /* MVMLE.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_word(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 2; dmask = movem_next[dmask]; } + while (amask) { put_word(srca, m68k_areg(regs, movem_index1[amask])); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_48f0_3)(uae_u32 opcode) /* MVMLE.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ uae_u16 dmask = mask & 0xff, amask = (mask >> 8) & 0xff; + while (dmask) { put_long(srca, m68k_dreg(regs, movem_index1[dmask])); srca += 4; dmask = movem_next[dmask]; } + while (amask) { put_long(srca, m68k_areg(regs, movem_index1[amask])); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_4a30_3)(uae_u32 opcode) /* TST.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a3b_3)(uae_u32 opcode) /* TST.B (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a70_3)(uae_u32 opcode) /* TST.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4a7b_3)(uae_u32 opcode) /* TST.W (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4ab0_3)(uae_u32 opcode) /* TST.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4abb_3)(uae_u32 opcode) /* TST.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); +}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_4af0_3)(uae_u32 opcode) /* TAS.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + src |= 0x80; + put_byte(srca,src); +}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cb0_3)(uae_u32 opcode) /* MVMEL.W #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cbb_3)(uae_u32 opcode) /* MVMEL.W #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(4)); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = (uae_s32)(uae_s16)get_word(srca); srca += 2; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cf0_3)(uae_u32 opcode) /* MVMEL.L #.W,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(4)); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4cfb_3)(uae_u32 opcode) /* MVMEL.L #.W,(d8,PC,Xn) */ +{ + cpuop_begin(); + uae_u32 dstreg = 3; +{ uae_u16 mask = get_iword(2); + unsigned int dmask = mask & 0xff, amask = (mask >> 8) & 0xff; +{ uaecptr tmppc = m68k_getpc() + 4; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(4)); +{ while (dmask) { m68k_dreg(regs, movem_index1[dmask]) = get_long(srca); srca += 4; dmask = movem_next[dmask]; } + while (amask) { m68k_areg(regs, movem_index1[amask]) = get_long(srca); srca += 4; amask = movem_next[amask]; } +}}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4eb0_3)(uae_u32 opcode) /* JSR.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + m68k_do_jsr(m68k_getpc() + 4, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ebb_3)(uae_u32 opcode) /* JSR.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); + m68k_do_jsr(m68k_getpc() + 4, srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4ef0_3)(uae_u32 opcode) /* JMP.L (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_4efb_3)(uae_u32 opcode) /* JMP.L (d8,PC,Xn) */ +{ + cpuop_begin(); +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); + m68k_setpc(srca); +}} cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5030_3)(uae_u32 opcode) /* ADD.B #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#endif + +#ifdef PART_5 +void REGPARAM2 CPUFUNC(op_5070_3)(uae_u32 opcode) /* ADD.W #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_50b0_3)(uae_u32 opcode) /* ADD.L #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_50f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(0) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_5130_3)(uae_u32 opcode) /* SUB.B #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_5170_3)(uae_u32 opcode) /* SUB.W #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_51b0_3)(uae_u32 opcode) /* SUB.L #,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = imm8_table[((opcode >> 1) & 7)]; +#else + uae_u32 srcreg = imm8_table[((opcode >> 9) & 7)]; +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_u32 src = srcreg; +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_51f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(1) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_52f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(2) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_53f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(3) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_54f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(4) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_55f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(5) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_56f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(6) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_57f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(7) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_58f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(8) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_59f0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(9) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5af0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(10) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5bf0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(11) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5cf0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(12) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5df0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(13) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ef0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(14) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_5ff0_3)(uae_u32 opcode) /* Scc.B (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ int val = cctrue(15) ? 0xff : 0; + put_byte(srca,val); +}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#endif + +#ifdef PART_6 +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_60ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(0)) goto endlabel2065; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2065; +{ uae_s32 src = get_ilong(2); + if (!cctrue(0)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2065: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_62ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(2)) goto endlabel2066; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2066; +{ uae_s32 src = get_ilong(2); + if (!cctrue(2)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2066: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_63ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(3)) goto endlabel2067; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2067; +{ uae_s32 src = get_ilong(2); + if (!cctrue(3)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2067: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_64ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(4)) goto endlabel2068; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2068; +{ uae_s32 src = get_ilong(2); + if (!cctrue(4)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2068: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_65ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(5)) goto endlabel2069; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2069; +{ uae_s32 src = get_ilong(2); + if (!cctrue(5)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2069: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_66ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(6)) goto endlabel2070; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2070; +{ uae_s32 src = get_ilong(2); + if (!cctrue(6)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2070: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_67ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(7)) goto endlabel2071; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2071; +{ uae_s32 src = get_ilong(2); + if (!cctrue(7)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2071: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_68ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(8)) goto endlabel2072; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2072; +{ uae_s32 src = get_ilong(2); + if (!cctrue(8)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2072: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_69ff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(9)) goto endlabel2073; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2073; +{ uae_s32 src = get_ilong(2); + if (!cctrue(9)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2073: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6aff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(10)) goto endlabel2074; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2074; +{ uae_s32 src = get_ilong(2); + if (!cctrue(10)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2074: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6bff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(11)) goto endlabel2075; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2075; +{ uae_s32 src = get_ilong(2); + if (!cctrue(11)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2075: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6cff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(12)) goto endlabel2076; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2076; +{ uae_s32 src = get_ilong(2); + if (!cctrue(12)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2076: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6dff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(13)) goto endlabel2077; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2077; +{ uae_s32 src = get_ilong(2); + if (!cctrue(13)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2077: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6eff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(14)) goto endlabel2078; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2078; +{ uae_s32 src = get_ilong(2); + if (!cctrue(14)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2078: ; + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_6fff_3)(uae_u32 opcode) /* Bcc.L #.L */ +{ + cpuop_begin(); +{ m68k_incpc(2); + if (!cctrue(15)) goto endlabel2079; + last_addr_for_exception_3 = m68k_getpc() + 2; + last_fault_for_exception_3 = m68k_getpc() + 1; + last_op_for_exception_3 = opcode; Exception(3,0); goto endlabel2079; +{ uae_s32 src = get_ilong(2); + if (!cctrue(15)) goto didnt_jump; + m68k_incpc ((uae_s32)src + 2); +return; +didnt_jump:; +}}m68k_incpc(6); +endlabel2079: ; + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_8030_3)(uae_u32 opcode) /* OR.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_803b_3)(uae_u32 opcode) /* OR.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8070_3)(uae_u32 opcode) /* OR.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_807b_3)(uae_u32 opcode) /* OR.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80b0_3)(uae_u32 opcode) /* OR.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80bb_3)(uae_u32 opcode) /* OR.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80f0_3)(uae_u32 opcode) /* DIVU.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel2086; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel2086: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_80fb_3)(uae_u32 opcode) /* DIVU.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception (5, oldpc); goto endlabel2087; } else { + uae_u32 newv = (uae_u32)dst / (uae_u32)(uae_u16)src; + uae_u32 rem = (uae_u32)dst % (uae_u32)(uae_u16)src; + if (newv > 0xffff) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel2087: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8130_3)(uae_u32 opcode) /* OR.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_8170_3)(uae_u32 opcode) /* OR.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81b0_3)(uae_u32 opcode) /* OR.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); + src |= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81f0_3)(uae_u32 opcode) /* DIVS.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel2091; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel2091: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_81fb_3)(uae_u32 opcode) /* DIVS.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{ uaecptr oldpc = m68k_getpc(); +{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +m68k_incpc(4); + if (src == 0) { SET_VFLG (0); Exception(5,oldpc); goto endlabel2092; } else { + uae_s32 newv = (uae_s32)dst / (uae_s32)(uae_s16)src; + uae_u16 rem = (uae_s32)dst % (uae_s32)(uae_s16)src; + if ((newv & 0xffff8000) != 0 && (newv & 0xffff8000) != 0xffff8000) { SET_VFLG (1); SET_NFLG (1); SET_CFLG (0); } else + { + if (((uae_s16)rem < 0) != ((uae_s32)dst < 0)) rem = -rem; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_NFLG (((uae_s16)(newv)) < 0); + newv = (newv & 0xffff) | ((uae_u32)rem << 16); + m68k_dreg(regs, dstreg) = (newv); + } + } +}}}}endlabel2092: ; + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9030_3)(uae_u32 opcode) /* SUB.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_903b_3)(uae_u32 opcode) /* SUB.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9070_3)(uae_u32 opcode) /* SUB.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_907b_3)(uae_u32 opcode) /* SUB.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90b0_3)(uae_u32 opcode) /* SUB.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_90bb_3)(uae_u32 opcode) /* SUB.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90f0_3)(uae_u32 opcode) /* SUBA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_90fb_3)(uae_u32 opcode) /* SUBA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_9130_3)(uae_u32 opcode) /* SUB.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_9170_3)(uae_u32 opcode) /* SUB.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_91b0_3)(uae_u32 opcode) /* SUB.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgo) & (flgn ^ flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91f0_3)(uae_u32 opcode) /* SUBA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_91fb_3)(uae_u32 opcode) /* SUBA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst - src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_b030_3)(uae_u32 opcode) /* CMP.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b03b_3)(uae_u32 opcode) /* CMP.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u8)(src)) > ((uae_u8)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#endif + +#ifdef PART_7 +void REGPARAM2 CPUFUNC(op_b070_3)(uae_u32 opcode) /* CMP.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b07b_3)(uae_u32 opcode) /* CMP.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u16)(src)) > ((uae_u16)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0b0_3)(uae_u32 opcode) /* CMP.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0bb_3)(uae_u32 opcode) /* CMP.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0f0_3)(uae_u32 opcode) /* CMPA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b0fb_3)(uae_u32 opcode) /* CMPA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b130_3)(uae_u32 opcode) /* EOR.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b170_3)(uae_u32 opcode) /* EOR.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1b0_3)(uae_u32 opcode) /* EOR.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); + src ^= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1f0_3)(uae_u32 opcode) /* CMPA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_b1fb_3)(uae_u32 opcode) /* CMPA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs != flgo) && (flgn != flgo)); + SET_CFLG (((uae_u32)(src)) > ((uae_u32)(dst))); + SET_NFLG (flgn != 0); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c030_3)(uae_u32 opcode) /* AND.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c03b_3)(uae_u32 opcode) /* AND.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c070_3)(uae_u32 opcode) /* AND.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c07b_3)(uae_u32 opcode) /* AND.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0b0_3)(uae_u32 opcode) /* AND.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0bb_3)(uae_u32 opcode) /* AND.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + m68k_dreg(regs, dstreg) = (src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0f0_3)(uae_u32 opcode) /* MULU.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c0fb_3)(uae_u32 opcode) /* MULU.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_u32)(uae_u16)dst * (uae_u32)(uae_u16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c130_3)(uae_u32 opcode) /* AND.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s8)(src)) == 0); + SET_NFLG (((uae_s8)(src)) < 0); + put_byte(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c170_3)(uae_u32 opcode) /* AND.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(src)) == 0); + SET_NFLG (((uae_s16)(src)) < 0); + put_word(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1b0_3)(uae_u32 opcode) /* AND.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); + src &= dst; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(src)) == 0); + SET_NFLG (((uae_s32)(src)) < 0); + put_long(dsta,src); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1f0_3)(uae_u32 opcode) /* MULS.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_c1fb_3)(uae_u32 opcode) /* MULS.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{ uae_u32 newv = (uae_s32)(uae_s16)dst * (uae_s32)(uae_s16)src; + CLEAR_CZNV; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_NFLG (((uae_s32)(newv)) < 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d030_3)(uae_u32 opcode) /* ADD.B (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d03b_3)(uae_u32 opcode) /* ADD.B (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s8 src = get_byte(srca); +{ uae_s8 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((newv) & 0xff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d070_3)(uae_u32 opcode) /* ADD.W (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d07b_3)(uae_u32 opcode) /* ADD.W (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s16 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((newv) & 0xffff); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0b0_3)(uae_u32 opcode) /* ADD.L (d8,An,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d0bb_3)(uae_u32 opcode) /* ADD.L (d8,PC,Xn),Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_dreg(regs, dstreg); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + m68k_dreg(regs, dstreg) = (newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0f0_3)(uae_u32 opcode) /* ADDA.W (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d0fb_3)(uae_u32 opcode) /* ADDA.W (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s16 src = get_word(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_d130_3)(uae_u32 opcode) /* ADD.B Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s8 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s8 dst = get_byte(dsta); +{{uae_u32 newv = ((uae_s8)(dst)) + ((uae_s8)(src)); +{ int flgs = ((uae_s8)(src)) < 0; + int flgo = ((uae_s8)(dst)) < 0; + int flgn = ((uae_s8)(newv)) < 0; + SET_ZFLG (((uae_s8)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u8)(~dst)) < ((uae_u8)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_byte(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d170_3)(uae_u32 opcode) /* ADD.W Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s16 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s16 dst = get_word(dsta); +{{uae_u32 newv = ((uae_s16)(dst)) + ((uae_s16)(src)); +{ int flgs = ((uae_s16)(src)) < 0; + int flgo = ((uae_s16)(dst)) < 0; + int flgn = ((uae_s16)(newv)) < 0; + SET_ZFLG (((uae_s16)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u16)(~dst)) < ((uae_u16)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_word(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_d1b0_3)(uae_u32 opcode) /* ADD.L Dn,(d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 1) & 7); +#else + uae_u32 srcreg = ((opcode >> 9) & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 8) & 7; +#else + uae_u32 dstreg = opcode & 7; +#endif +{{ uae_s32 src = m68k_dreg(regs, srcreg); +{ uaecptr dsta = get_disp_ea_000(m68k_areg(regs, dstreg), get_iword(2)); +{ uae_s32 dst = get_long(dsta); +{{uae_u32 newv = ((uae_s32)(dst)) + ((uae_s32)(src)); +{ int flgs = ((uae_s32)(src)) < 0; + int flgo = ((uae_s32)(dst)) < 0; + int flgn = ((uae_s32)(newv)) < 0; + SET_ZFLG (((uae_s32)(newv)) == 0); + SET_VFLG ((flgs ^ flgn) & (flgo ^ flgn)); + SET_CFLG (((uae_u32)(~dst)) < ((uae_u32)(src))); + COPY_CARRY; + SET_NFLG (flgn != 0); + put_long(dsta,newv); +}}}}}}}m68k_incpc(4); + cpuop_end(); +} +#endif + +#ifdef PART_8 +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1f0_3)(uae_u32 opcode) /* ADDA.L (d8,An,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_d1fb_3)(uae_u32 opcode) /* ADDA.L (d8,PC,Xn),An */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 dstreg = (opcode >> 1) & 7; +#else + uae_u32 dstreg = (opcode >> 9) & 7; +#endif +{{ uaecptr tmppc = m68k_getpc() + 2; + uaecptr srca = get_disp_ea_000(tmppc, get_iword(2)); +{ uae_s32 src = get_long(srca); +{ uae_s32 dst = m68k_areg(regs, dstreg); +{ uae_u32 newv = dst + src; + m68k_areg(regs, dstreg) = (newv); +}}}}}m68k_incpc(4); + cpuop_end(); +} + +#endif +void REGPARAM2 CPUFUNC(op_e0f0_3)(uae_u32 opcode) /* ASRW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 cflg = val & 1; + val = (val >> 1) | sign; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + SET_CFLG (cflg); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e1f0_3)(uae_u32 opcode) /* ASLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 sign = 0x8000 & val; + uae_u32 sign2; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); + sign2 = 0x8000 & val; + SET_CFLG (sign != 0); + COPY_CARRY; + SET_VFLG (GET_VFLG | (sign2 != sign)); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e2f0_3)(uae_u32 opcode) /* LSRW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u32 val = (uae_u16)data; + uae_u32 carry = val & 1; + val >>= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e3f0_3)(uae_u32 opcode) /* LSLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e4f0_3)(uae_u32 opcode) /* ROXRW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (GET_XFLG) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e5f0_3)(uae_u32 opcode) /* ROXLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (GET_XFLG) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + COPY_CARRY; + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e6f0_3)(uae_u32 opcode) /* RORW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 1; + val >>= 1; + if (carry) val |= 0x8000; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +void REGPARAM2 CPUFUNC(op_e7f0_3)(uae_u32 opcode) /* ROLW.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr dataa = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); +{ uae_s16 data = get_word(dataa); +{ uae_u16 val = data; + uae_u32 carry = val & 0x8000; + val <<= 1; + if (carry) val |= 1; + CLEAR_CZNV; + SET_ZFLG (((uae_s16)(val)) == 0); + SET_NFLG (((uae_s16)(val)) < 0); +SET_CFLG (carry >> 15); + put_word(dataa,val); +}}}}m68k_incpc(4); + cpuop_end(); +} +#endif + + +#ifdef _MSC_VER +#pragma warning(disable:4102) /* unreferenced label */ +#endif + +#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8) +#define PART_1 1 +#define PART_2 1 +#define PART_3 1 +#define PART_4 1 +#define PART_5 1 +#define PART_6 1 +#define PART_7 1 +#define PART_8 1 +#endif + +#ifdef PART_1 +#endif + +#ifdef PART_2 +#endif + +#ifdef PART_3 +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40c0_4)(uae_u32 opcode) /* MVSR2.W Dn */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ MakeSR(); + m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | ((regs.sr) & 0xffff); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40d0_4)(uae_u32 opcode) /* MVSR2.W (An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40d8_4)(uae_u32 opcode) /* MVSR2.W (An)+ */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg); + m68k_areg(regs, srcreg) += 2; + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40e0_4)(uae_u32 opcode) /* MVSR2.W -(An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) - 2; + m68k_areg (regs, srcreg) = srca; + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(2); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40e8_4)(uae_u32 opcode) /* MVSR2.W (d16,An) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)get_iword(2); + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f0_4)(uae_u32 opcode) /* MVSR2.W (d8,An,Xn) */ +{ + cpuop_begin(); +#ifdef HAVE_GET_WORD_UNSWAPPED + uae_u32 srcreg = ((opcode >> 8) & 7); +#else + uae_u32 srcreg = (opcode & 7); +#endif +{{ uaecptr srca = get_disp_ea_000(m68k_areg(regs, srcreg), get_iword(2)); + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f8_4)(uae_u32 opcode) /* MVSR2.W (xxx).W */ +{ + cpuop_begin(); +{{ uaecptr srca = (uae_s32)(uae_s16)get_iword(2); + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(4); + cpuop_end(); +} + +#endif +#ifndef NOFLAGS +void REGPARAM2 CPUFUNC(op_40f9_4)(uae_u32 opcode) /* MVSR2.W (xxx).L */ +{ + cpuop_begin(); +{{ uaecptr srca = get_ilong(2); + MakeSR(); + put_word(srca,regs.sr); +}}m68k_incpc(6); + cpuop_end(); +} + +#endif +#endif + +#ifdef PART_4 +void REGPARAM2 CPUFUNC(op_4e73_4)(uae_u32 opcode) /* RTE.L */ +{ + cpuop_begin(); +{if (!regs.s) { Exception(8,0); goto endlabel2161; } +{{ uaecptr sra = m68k_areg(regs, 7); +{ uae_s16 sr = get_word(sra); + m68k_areg(regs, 7) += 2; +{ uaecptr pca = m68k_areg(regs, 7); +{ uae_s32 pc = get_long(pca); + m68k_areg(regs, 7) += 4; + regs.sr = sr; m68k_setpc_rte(pc); + MakeFromSR(); +}}}}}}endlabel2161: ; + cpuop_end(); +} +#endif + +#ifdef PART_5 +#endif + +#ifdef PART_6 +#endif + +#ifdef PART_7 +#endif + +#ifdef PART_8 +#endif + diff --git a/BasiliskII/src/uae_cpu/cpuemu_nf.cpp b/BasiliskII/src/uae_cpu/cpuemu_nf.cpp new file mode 100644 index 00000000..72e965cf --- /dev/null +++ b/BasiliskII/src/uae_cpu/cpuemu_nf.cpp @@ -0,0 +1,2 @@ +#define NOFLAGS +#include "cpuemu.cpp" diff --git a/BasiliskII/src/uae_cpu/cpustbl.cpp b/BasiliskII/src/uae_cpu/cpustbl.cpp new file mode 100644 index 00000000..87fc85bf --- /dev/null +++ b/BasiliskII/src/uae_cpu/cpustbl.cpp @@ -0,0 +1,8720 @@ +#include "sysdeps.h" +#include "m68k.h" +#include "memory.h" +#include "readcpu.h" +#include "newcpu.h" +#include "compiler/compemu.h" +#include "fpu/fpu.h" +#include "cputbl.h" +#define SET_CFLG_ALWAYS(x) SET_CFLG(x) +#define SET_NFLG_ALWAYS(x) SET_NFLG(x) +#define CPUFUNC_FF(x) x##_ff +#define CPUFUNC_NF(x) x##_nf +#define CPUFUNC(x) CPUFUNC_FF(x) +#ifdef NOFLAGS +# include "noflags.h" +#endif +struct cputbl CPUFUNC(op_smalltbl_0)[] = { +{ CPUFUNC(op_0_0), 0, 0 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_10_0), 0, 16 }, /* OR.B #.B,(An) */ +{ CPUFUNC(op_18_0), 0, 24 }, /* OR.B #.B,(An)+ */ +{ CPUFUNC(op_20_0), 0, 32 }, /* OR.B #.B,-(An) */ +{ CPUFUNC(op_28_0), 0, 40 }, /* OR.B #.B,(d16,An) */ +{ CPUFUNC(op_30_0), 0, 48 }, /* OR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_38_0), 0, 56 }, /* OR.B #.B,(xxx).W */ +{ CPUFUNC(op_39_0), 0, 57 }, /* OR.B #.B,(xxx).L */ +{ CPUFUNC(op_3c_0), 0, 60 }, /* ORSR.B #.W */ +{ CPUFUNC(op_40_0), 0, 64 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_50_0), 0, 80 }, /* OR.W #.W,(An) */ +{ CPUFUNC(op_58_0), 0, 88 }, /* OR.W #.W,(An)+ */ +{ CPUFUNC(op_60_0), 0, 96 }, /* OR.W #.W,-(An) */ +{ CPUFUNC(op_68_0), 0, 104 }, /* OR.W #.W,(d16,An) */ +{ CPUFUNC(op_70_0), 0, 112 }, /* OR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_78_0), 0, 120 }, /* OR.W #.W,(xxx).W */ +{ CPUFUNC(op_79_0), 0, 121 }, /* OR.W #.W,(xxx).L */ +{ CPUFUNC(op_7c_0), 0, 124 }, /* ORSR.W #.W */ +{ CPUFUNC(op_80_0), 0, 128 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_90_0), 0, 144 }, /* OR.L #.L,(An) */ +{ CPUFUNC(op_98_0), 0, 152 }, /* OR.L #.L,(An)+ */ +{ CPUFUNC(op_a0_0), 0, 160 }, /* OR.L #.L,-(An) */ +{ CPUFUNC(op_a8_0), 0, 168 }, /* OR.L #.L,(d16,An) */ +{ CPUFUNC(op_b0_0), 0, 176 }, /* OR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_b8_0), 0, 184 }, /* OR.L #.L,(xxx).W */ +{ CPUFUNC(op_b9_0), 0, 185 }, /* OR.L #.L,(xxx).L */ +{ CPUFUNC(op_d0_0), 0, 208 }, /* CHK2.B #.W,(An) */ +{ CPUFUNC(op_e8_0), 0, 232 }, /* CHK2.B #.W,(d16,An) */ +{ CPUFUNC(op_f0_0), 0, 240 }, /* CHK2.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_f8_0), 0, 248 }, /* CHK2.B #.W,(xxx).W */ +{ CPUFUNC(op_f9_0), 0, 249 }, /* CHK2.B #.W,(xxx).L */ +{ CPUFUNC(op_fa_0), 0, 250 }, /* CHK2.B #.W,(d16,PC) */ +{ CPUFUNC(op_fb_0), 0, 251 }, /* CHK2.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_100_0), 0, 256 }, /* BTST.L Dn,Dn */ +{ CPUFUNC_FF(op_108_0), 0, 264 }, /* MVPMR.W (d16,An),Dn */ +{ CPUFUNC(op_110_0), 0, 272 }, /* BTST.B Dn,(An) */ +{ CPUFUNC(op_118_0), 0, 280 }, /* BTST.B Dn,(An)+ */ +{ CPUFUNC(op_120_0), 0, 288 }, /* BTST.B Dn,-(An) */ +{ CPUFUNC(op_128_0), 0, 296 }, /* BTST.B Dn,(d16,An) */ +{ CPUFUNC(op_130_0), 0, 304 }, /* BTST.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_138_0), 0, 312 }, /* BTST.B Dn,(xxx).W */ +{ CPUFUNC(op_139_0), 0, 313 }, /* BTST.B Dn,(xxx).L */ +{ CPUFUNC(op_13a_0), 0, 314 }, /* BTST.B Dn,(d16,PC) */ +{ CPUFUNC(op_13b_0), 0, 315 }, /* BTST.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_13c_0), 0, 316 }, /* BTST.B Dn,#.B */ +{ CPUFUNC(op_140_0), 0, 320 }, /* BCHG.L Dn,Dn */ +{ CPUFUNC_FF(op_148_0), 0, 328 }, /* MVPMR.L (d16,An),Dn */ +{ CPUFUNC(op_150_0), 0, 336 }, /* BCHG.B Dn,(An) */ +{ CPUFUNC(op_158_0), 0, 344 }, /* BCHG.B Dn,(An)+ */ +{ CPUFUNC(op_160_0), 0, 352 }, /* BCHG.B Dn,-(An) */ +{ CPUFUNC(op_168_0), 0, 360 }, /* BCHG.B Dn,(d16,An) */ +{ CPUFUNC(op_170_0), 0, 368 }, /* BCHG.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_178_0), 0, 376 }, /* BCHG.B Dn,(xxx).W */ +{ CPUFUNC(op_179_0), 0, 377 }, /* BCHG.B Dn,(xxx).L */ +{ CPUFUNC(op_17a_0), 0, 378 }, /* BCHG.B Dn,(d16,PC) */ +{ CPUFUNC(op_17b_0), 0, 379 }, /* BCHG.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_180_0), 0, 384 }, /* BCLR.L Dn,Dn */ +{ CPUFUNC_FF(op_188_0), 0, 392 }, /* MVPRM.W Dn,(d16,An) */ +{ CPUFUNC(op_190_0), 0, 400 }, /* BCLR.B Dn,(An) */ +{ CPUFUNC(op_198_0), 0, 408 }, /* BCLR.B Dn,(An)+ */ +{ CPUFUNC(op_1a0_0), 0, 416 }, /* BCLR.B Dn,-(An) */ +{ CPUFUNC(op_1a8_0), 0, 424 }, /* BCLR.B Dn,(d16,An) */ +{ CPUFUNC(op_1b0_0), 0, 432 }, /* BCLR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1b8_0), 0, 440 }, /* BCLR.B Dn,(xxx).W */ +{ CPUFUNC(op_1b9_0), 0, 441 }, /* BCLR.B Dn,(xxx).L */ +{ CPUFUNC(op_1ba_0), 0, 442 }, /* BCLR.B Dn,(d16,PC) */ +{ CPUFUNC(op_1bb_0), 0, 443 }, /* BCLR.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_1c0_0), 0, 448 }, /* BSET.L Dn,Dn */ +{ CPUFUNC_FF(op_1c8_0), 0, 456 }, /* MVPRM.L Dn,(d16,An) */ +{ CPUFUNC(op_1d0_0), 0, 464 }, /* BSET.B Dn,(An) */ +{ CPUFUNC(op_1d8_0), 0, 472 }, /* BSET.B Dn,(An)+ */ +{ CPUFUNC(op_1e0_0), 0, 480 }, /* BSET.B Dn,-(An) */ +{ CPUFUNC(op_1e8_0), 0, 488 }, /* BSET.B Dn,(d16,An) */ +{ CPUFUNC(op_1f0_0), 0, 496 }, /* BSET.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1f8_0), 0, 504 }, /* BSET.B Dn,(xxx).W */ +{ CPUFUNC(op_1f9_0), 0, 505 }, /* BSET.B Dn,(xxx).L */ +{ CPUFUNC(op_1fa_0), 0, 506 }, /* BSET.B Dn,(d16,PC) */ +{ CPUFUNC(op_1fb_0), 0, 507 }, /* BSET.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_200_0), 0, 512 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_210_0), 0, 528 }, /* AND.B #.B,(An) */ +{ CPUFUNC(op_218_0), 0, 536 }, /* AND.B #.B,(An)+ */ +{ CPUFUNC(op_220_0), 0, 544 }, /* AND.B #.B,-(An) */ +{ CPUFUNC(op_228_0), 0, 552 }, /* AND.B #.B,(d16,An) */ +{ CPUFUNC(op_230_0), 0, 560 }, /* AND.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_238_0), 0, 568 }, /* AND.B #.B,(xxx).W */ +{ CPUFUNC(op_239_0), 0, 569 }, /* AND.B #.B,(xxx).L */ +{ CPUFUNC(op_23c_0), 0, 572 }, /* ANDSR.B #.W */ +{ CPUFUNC(op_240_0), 0, 576 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_250_0), 0, 592 }, /* AND.W #.W,(An) */ +{ CPUFUNC(op_258_0), 0, 600 }, /* AND.W #.W,(An)+ */ +{ CPUFUNC(op_260_0), 0, 608 }, /* AND.W #.W,-(An) */ +{ CPUFUNC(op_268_0), 0, 616 }, /* AND.W #.W,(d16,An) */ +{ CPUFUNC(op_270_0), 0, 624 }, /* AND.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_278_0), 0, 632 }, /* AND.W #.W,(xxx).W */ +{ CPUFUNC(op_279_0), 0, 633 }, /* AND.W #.W,(xxx).L */ +{ CPUFUNC(op_27c_0), 0, 636 }, /* ANDSR.W #.W */ +{ CPUFUNC(op_280_0), 0, 640 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_290_0), 0, 656 }, /* AND.L #.L,(An) */ +{ CPUFUNC(op_298_0), 0, 664 }, /* AND.L #.L,(An)+ */ +{ CPUFUNC(op_2a0_0), 0, 672 }, /* AND.L #.L,-(An) */ +{ CPUFUNC(op_2a8_0), 0, 680 }, /* AND.L #.L,(d16,An) */ +{ CPUFUNC(op_2b0_0), 0, 688 }, /* AND.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_2b8_0), 0, 696 }, /* AND.L #.L,(xxx).W */ +{ CPUFUNC(op_2b9_0), 0, 697 }, /* AND.L #.L,(xxx).L */ +{ CPUFUNC(op_2d0_0), 0, 720 }, /* CHK2.W #.W,(An) */ +{ CPUFUNC(op_2e8_0), 0, 744 }, /* CHK2.W #.W,(d16,An) */ +{ CPUFUNC(op_2f0_0), 0, 752 }, /* CHK2.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_2f8_0), 0, 760 }, /* CHK2.W #.W,(xxx).W */ +{ CPUFUNC(op_2f9_0), 0, 761 }, /* CHK2.W #.W,(xxx).L */ +{ CPUFUNC(op_2fa_0), 0, 762 }, /* CHK2.W #.W,(d16,PC) */ +{ CPUFUNC(op_2fb_0), 0, 763 }, /* CHK2.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_400_0), 0, 1024 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_410_0), 0, 1040 }, /* SUB.B #.B,(An) */ +{ CPUFUNC(op_418_0), 0, 1048 }, /* SUB.B #.B,(An)+ */ +{ CPUFUNC(op_420_0), 0, 1056 }, /* SUB.B #.B,-(An) */ +{ CPUFUNC(op_428_0), 0, 1064 }, /* SUB.B #.B,(d16,An) */ +{ CPUFUNC(op_430_0), 0, 1072 }, /* SUB.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_438_0), 0, 1080 }, /* SUB.B #.B,(xxx).W */ +{ CPUFUNC(op_439_0), 0, 1081 }, /* SUB.B #.B,(xxx).L */ +{ CPUFUNC(op_440_0), 0, 1088 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_450_0), 0, 1104 }, /* SUB.W #.W,(An) */ +{ CPUFUNC(op_458_0), 0, 1112 }, /* SUB.W #.W,(An)+ */ +{ CPUFUNC(op_460_0), 0, 1120 }, /* SUB.W #.W,-(An) */ +{ CPUFUNC(op_468_0), 0, 1128 }, /* SUB.W #.W,(d16,An) */ +{ CPUFUNC(op_470_0), 0, 1136 }, /* SUB.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_478_0), 0, 1144 }, /* SUB.W #.W,(xxx).W */ +{ CPUFUNC(op_479_0), 0, 1145 }, /* SUB.W #.W,(xxx).L */ +{ CPUFUNC(op_480_0), 0, 1152 }, /* SUB.L #.L,Dn */ +{ CPUFUNC(op_490_0), 0, 1168 }, /* SUB.L #.L,(An) */ +{ CPUFUNC(op_498_0), 0, 1176 }, /* SUB.L #.L,(An)+ */ +{ CPUFUNC(op_4a0_0), 0, 1184 }, /* SUB.L #.L,-(An) */ +{ CPUFUNC(op_4a8_0), 0, 1192 }, /* SUB.L #.L,(d16,An) */ +{ CPUFUNC(op_4b0_0), 0, 1200 }, /* SUB.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_4b8_0), 0, 1208 }, /* SUB.L #.L,(xxx).W */ +{ CPUFUNC(op_4b9_0), 0, 1209 }, /* SUB.L #.L,(xxx).L */ +{ CPUFUNC(op_4d0_0), 0, 1232 }, /* CHK2.L #.W,(An) */ +{ CPUFUNC(op_4e8_0), 0, 1256 }, /* CHK2.L #.W,(d16,An) */ +{ CPUFUNC(op_4f0_0), 0, 1264 }, /* CHK2.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4f8_0), 0, 1272 }, /* CHK2.L #.W,(xxx).W */ +{ CPUFUNC(op_4f9_0), 0, 1273 }, /* CHK2.L #.W,(xxx).L */ +{ CPUFUNC(op_4fa_0), 0, 1274 }, /* CHK2.L #.W,(d16,PC) */ +{ CPUFUNC(op_4fb_0), 0, 1275 }, /* CHK2.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_600_0), 0, 1536 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_610_0), 0, 1552 }, /* ADD.B #.B,(An) */ +{ CPUFUNC(op_618_0), 0, 1560 }, /* ADD.B #.B,(An)+ */ +{ CPUFUNC(op_620_0), 0, 1568 }, /* ADD.B #.B,-(An) */ +{ CPUFUNC(op_628_0), 0, 1576 }, /* ADD.B #.B,(d16,An) */ +{ CPUFUNC(op_630_0), 0, 1584 }, /* ADD.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_638_0), 0, 1592 }, /* ADD.B #.B,(xxx).W */ +{ CPUFUNC(op_639_0), 0, 1593 }, /* ADD.B #.B,(xxx).L */ +{ CPUFUNC(op_640_0), 0, 1600 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_650_0), 0, 1616 }, /* ADD.W #.W,(An) */ +{ CPUFUNC(op_658_0), 0, 1624 }, /* ADD.W #.W,(An)+ */ +{ CPUFUNC(op_660_0), 0, 1632 }, /* ADD.W #.W,-(An) */ +{ CPUFUNC(op_668_0), 0, 1640 }, /* ADD.W #.W,(d16,An) */ +{ CPUFUNC(op_670_0), 0, 1648 }, /* ADD.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_678_0), 0, 1656 }, /* ADD.W #.W,(xxx).W */ +{ CPUFUNC(op_679_0), 0, 1657 }, /* ADD.W #.W,(xxx).L */ +{ CPUFUNC(op_680_0), 0, 1664 }, /* ADD.L #.L,Dn */ +{ CPUFUNC(op_690_0), 0, 1680 }, /* ADD.L #.L,(An) */ +{ CPUFUNC(op_698_0), 0, 1688 }, /* ADD.L #.L,(An)+ */ +{ CPUFUNC(op_6a0_0), 0, 1696 }, /* ADD.L #.L,-(An) */ +{ CPUFUNC(op_6a8_0), 0, 1704 }, /* ADD.L #.L,(d16,An) */ +{ CPUFUNC(op_6b0_0), 0, 1712 }, /* ADD.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_6b8_0), 0, 1720 }, /* ADD.L #.L,(xxx).W */ +{ CPUFUNC(op_6b9_0), 0, 1721 }, /* ADD.L #.L,(xxx).L */ +{ CPUFUNC(op_6c0_0), 0, 1728 }, /* RTM.L Dn */ +{ CPUFUNC(op_6c8_0), 0, 1736 }, /* RTM.L An */ +{ CPUFUNC_FF(op_6d0_0), 0, 1744 }, /* CALLM.L (An) */ +{ CPUFUNC_FF(op_6e8_0), 0, 1768 }, /* CALLM.L (d16,An) */ +{ CPUFUNC_FF(op_6f0_0), 0, 1776 }, /* CALLM.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_6f8_0), 0, 1784 }, /* CALLM.L (xxx).W */ +{ CPUFUNC_FF(op_6f9_0), 0, 1785 }, /* CALLM.L (xxx).L */ +{ CPUFUNC_FF(op_6fa_0), 0, 1786 }, /* CALLM.L (d16,PC) */ +{ CPUFUNC_FF(op_6fb_0), 0, 1787 }, /* CALLM.L (d8,PC,Xn) */ +{ CPUFUNC(op_800_0), 0, 2048 }, /* BTST.L #.W,Dn */ +{ CPUFUNC(op_810_0), 0, 2064 }, /* BTST.B #.W,(An) */ +{ CPUFUNC(op_818_0), 0, 2072 }, /* BTST.B #.W,(An)+ */ +{ CPUFUNC(op_820_0), 0, 2080 }, /* BTST.B #.W,-(An) */ +{ CPUFUNC(op_828_0), 0, 2088 }, /* BTST.B #.W,(d16,An) */ +{ CPUFUNC(op_830_0), 0, 2096 }, /* BTST.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_838_0), 0, 2104 }, /* BTST.B #.W,(xxx).W */ +{ CPUFUNC(op_839_0), 0, 2105 }, /* BTST.B #.W,(xxx).L */ +{ CPUFUNC(op_83a_0), 0, 2106 }, /* BTST.B #.W,(d16,PC) */ +{ CPUFUNC(op_83b_0), 0, 2107 }, /* BTST.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_83c_0), 0, 2108 }, /* BTST.B #.W,#.B */ +{ CPUFUNC(op_840_0), 0, 2112 }, /* BCHG.L #.W,Dn */ +{ CPUFUNC(op_850_0), 0, 2128 }, /* BCHG.B #.W,(An) */ +{ CPUFUNC(op_858_0), 0, 2136 }, /* BCHG.B #.W,(An)+ */ +{ CPUFUNC(op_860_0), 0, 2144 }, /* BCHG.B #.W,-(An) */ +{ CPUFUNC(op_868_0), 0, 2152 }, /* BCHG.B #.W,(d16,An) */ +{ CPUFUNC(op_870_0), 0, 2160 }, /* BCHG.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_878_0), 0, 2168 }, /* BCHG.B #.W,(xxx).W */ +{ CPUFUNC(op_879_0), 0, 2169 }, /* BCHG.B #.W,(xxx).L */ +{ CPUFUNC(op_87a_0), 0, 2170 }, /* BCHG.B #.W,(d16,PC) */ +{ CPUFUNC(op_87b_0), 0, 2171 }, /* BCHG.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_880_0), 0, 2176 }, /* BCLR.L #.W,Dn */ +{ CPUFUNC(op_890_0), 0, 2192 }, /* BCLR.B #.W,(An) */ +{ CPUFUNC(op_898_0), 0, 2200 }, /* BCLR.B #.W,(An)+ */ +{ CPUFUNC(op_8a0_0), 0, 2208 }, /* BCLR.B #.W,-(An) */ +{ CPUFUNC(op_8a8_0), 0, 2216 }, /* BCLR.B #.W,(d16,An) */ +{ CPUFUNC(op_8b0_0), 0, 2224 }, /* BCLR.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8b8_0), 0, 2232 }, /* BCLR.B #.W,(xxx).W */ +{ CPUFUNC(op_8b9_0), 0, 2233 }, /* BCLR.B #.W,(xxx).L */ +{ CPUFUNC(op_8ba_0), 0, 2234 }, /* BCLR.B #.W,(d16,PC) */ +{ CPUFUNC(op_8bb_0), 0, 2235 }, /* BCLR.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_8c0_0), 0, 2240 }, /* BSET.L #.W,Dn */ +{ CPUFUNC(op_8d0_0), 0, 2256 }, /* BSET.B #.W,(An) */ +{ CPUFUNC(op_8d8_0), 0, 2264 }, /* BSET.B #.W,(An)+ */ +{ CPUFUNC(op_8e0_0), 0, 2272 }, /* BSET.B #.W,-(An) */ +{ CPUFUNC(op_8e8_0), 0, 2280 }, /* BSET.B #.W,(d16,An) */ +{ CPUFUNC(op_8f0_0), 0, 2288 }, /* BSET.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8f8_0), 0, 2296 }, /* BSET.B #.W,(xxx).W */ +{ CPUFUNC(op_8f9_0), 0, 2297 }, /* BSET.B #.W,(xxx).L */ +{ CPUFUNC(op_8fa_0), 0, 2298 }, /* BSET.B #.W,(d16,PC) */ +{ CPUFUNC(op_8fb_0), 0, 2299 }, /* BSET.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_a00_0), 0, 2560 }, /* EOR.B #.B,Dn */ +{ CPUFUNC(op_a10_0), 0, 2576 }, /* EOR.B #.B,(An) */ +{ CPUFUNC(op_a18_0), 0, 2584 }, /* EOR.B #.B,(An)+ */ +{ CPUFUNC(op_a20_0), 0, 2592 }, /* EOR.B #.B,-(An) */ +{ CPUFUNC(op_a28_0), 0, 2600 }, /* EOR.B #.B,(d16,An) */ +{ CPUFUNC(op_a30_0), 0, 2608 }, /* EOR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_a38_0), 0, 2616 }, /* EOR.B #.B,(xxx).W */ +{ CPUFUNC(op_a39_0), 0, 2617 }, /* EOR.B #.B,(xxx).L */ +{ CPUFUNC(op_a3c_0), 0, 2620 }, /* EORSR.B #.W */ +{ CPUFUNC(op_a40_0), 0, 2624 }, /* EOR.W #.W,Dn */ +{ CPUFUNC(op_a50_0), 0, 2640 }, /* EOR.W #.W,(An) */ +{ CPUFUNC(op_a58_0), 0, 2648 }, /* EOR.W #.W,(An)+ */ +{ CPUFUNC(op_a60_0), 0, 2656 }, /* EOR.W #.W,-(An) */ +{ CPUFUNC(op_a68_0), 0, 2664 }, /* EOR.W #.W,(d16,An) */ +{ CPUFUNC(op_a70_0), 0, 2672 }, /* EOR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_a78_0), 0, 2680 }, /* EOR.W #.W,(xxx).W */ +{ CPUFUNC(op_a79_0), 0, 2681 }, /* EOR.W #.W,(xxx).L */ +{ CPUFUNC(op_a7c_0), 0, 2684 }, /* EORSR.W #.W */ +{ CPUFUNC(op_a80_0), 0, 2688 }, /* EOR.L #.L,Dn */ +{ CPUFUNC(op_a90_0), 0, 2704 }, /* EOR.L #.L,(An) */ +{ CPUFUNC(op_a98_0), 0, 2712 }, /* EOR.L #.L,(An)+ */ +{ CPUFUNC(op_aa0_0), 0, 2720 }, /* EOR.L #.L,-(An) */ +{ CPUFUNC(op_aa8_0), 0, 2728 }, /* EOR.L #.L,(d16,An) */ +{ CPUFUNC(op_ab0_0), 0, 2736 }, /* EOR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_ab8_0), 0, 2744 }, /* EOR.L #.L,(xxx).W */ +{ CPUFUNC(op_ab9_0), 0, 2745 }, /* EOR.L #.L,(xxx).L */ +{ CPUFUNC(op_ad0_0), 0, 2768 }, /* CAS.B #.W,(An) */ +{ CPUFUNC(op_ad8_0), 0, 2776 }, /* CAS.B #.W,(An)+ */ +{ CPUFUNC(op_ae0_0), 0, 2784 }, /* CAS.B #.W,-(An) */ +{ CPUFUNC(op_ae8_0), 0, 2792 }, /* CAS.B #.W,(d16,An) */ +{ CPUFUNC(op_af0_0), 0, 2800 }, /* CAS.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_af8_0), 0, 2808 }, /* CAS.B #.W,(xxx).W */ +{ CPUFUNC(op_af9_0), 0, 2809 }, /* CAS.B #.W,(xxx).L */ +{ CPUFUNC(op_c00_0), 0, 3072 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_c10_0), 0, 3088 }, /* CMP.B #.B,(An) */ +{ CPUFUNC(op_c18_0), 0, 3096 }, /* CMP.B #.B,(An)+ */ +{ CPUFUNC(op_c20_0), 0, 3104 }, /* CMP.B #.B,-(An) */ +{ CPUFUNC(op_c28_0), 0, 3112 }, /* CMP.B #.B,(d16,An) */ +{ CPUFUNC(op_c30_0), 0, 3120 }, /* CMP.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_c38_0), 0, 3128 }, /* CMP.B #.B,(xxx).W */ +{ CPUFUNC(op_c39_0), 0, 3129 }, /* CMP.B #.B,(xxx).L */ +{ CPUFUNC(op_c3a_0), 0, 3130 }, /* CMP.B #.B,(d16,PC) */ +{ CPUFUNC(op_c3b_0), 0, 3131 }, /* CMP.B #.B,(d8,PC,Xn) */ +{ CPUFUNC(op_c40_0), 0, 3136 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_c50_0), 0, 3152 }, /* CMP.W #.W,(An) */ +{ CPUFUNC(op_c58_0), 0, 3160 }, /* CMP.W #.W,(An)+ */ +{ CPUFUNC(op_c60_0), 0, 3168 }, /* CMP.W #.W,-(An) */ +{ CPUFUNC(op_c68_0), 0, 3176 }, /* CMP.W #.W,(d16,An) */ +{ CPUFUNC(op_c70_0), 0, 3184 }, /* CMP.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_c78_0), 0, 3192 }, /* CMP.W #.W,(xxx).W */ +{ CPUFUNC(op_c79_0), 0, 3193 }, /* CMP.W #.W,(xxx).L */ +{ CPUFUNC(op_c7a_0), 0, 3194 }, /* CMP.W #.W,(d16,PC) */ +{ CPUFUNC(op_c7b_0), 0, 3195 }, /* CMP.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_c80_0), 0, 3200 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_c90_0), 0, 3216 }, /* CMP.L #.L,(An) */ +{ CPUFUNC(op_c98_0), 0, 3224 }, /* CMP.L #.L,(An)+ */ +{ CPUFUNC(op_ca0_0), 0, 3232 }, /* CMP.L #.L,-(An) */ +{ CPUFUNC(op_ca8_0), 0, 3240 }, /* CMP.L #.L,(d16,An) */ +{ CPUFUNC(op_cb0_0), 0, 3248 }, /* CMP.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_cb8_0), 0, 3256 }, /* CMP.L #.L,(xxx).W */ +{ CPUFUNC(op_cb9_0), 0, 3257 }, /* CMP.L #.L,(xxx).L */ +{ CPUFUNC(op_cba_0), 0, 3258 }, /* CMP.L #.L,(d16,PC) */ +{ CPUFUNC(op_cbb_0), 0, 3259 }, /* CMP.L #.L,(d8,PC,Xn) */ +{ CPUFUNC(op_cd0_0), 0, 3280 }, /* CAS.W #.W,(An) */ +{ CPUFUNC(op_cd8_0), 0, 3288 }, /* CAS.W #.W,(An)+ */ +{ CPUFUNC(op_ce0_0), 0, 3296 }, /* CAS.W #.W,-(An) */ +{ CPUFUNC(op_ce8_0), 0, 3304 }, /* CAS.W #.W,(d16,An) */ +{ CPUFUNC(op_cf0_0), 0, 3312 }, /* CAS.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_cf8_0), 0, 3320 }, /* CAS.W #.W,(xxx).W */ +{ CPUFUNC(op_cf9_0), 0, 3321 }, /* CAS.W #.W,(xxx).L */ +{ CPUFUNC(op_cfc_0), 0, 3324 }, /* CAS2.W #.L */ +{ CPUFUNC_FF(op_e10_0), 0, 3600 }, /* MOVES.B #.W,(An) */ +{ CPUFUNC_FF(op_e18_0), 0, 3608 }, /* MOVES.B #.W,(An)+ */ +{ CPUFUNC_FF(op_e20_0), 0, 3616 }, /* MOVES.B #.W,-(An) */ +{ CPUFUNC_FF(op_e28_0), 0, 3624 }, /* MOVES.B #.W,(d16,An) */ +{ CPUFUNC_FF(op_e30_0), 0, 3632 }, /* MOVES.B #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_e38_0), 0, 3640 }, /* MOVES.B #.W,(xxx).W */ +{ CPUFUNC_FF(op_e39_0), 0, 3641 }, /* MOVES.B #.W,(xxx).L */ +{ CPUFUNC_FF(op_e50_0), 0, 3664 }, /* MOVES.W #.W,(An) */ +{ CPUFUNC_FF(op_e58_0), 0, 3672 }, /* MOVES.W #.W,(An)+ */ +{ CPUFUNC_FF(op_e60_0), 0, 3680 }, /* MOVES.W #.W,-(An) */ +{ CPUFUNC_FF(op_e68_0), 0, 3688 }, /* MOVES.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_e70_0), 0, 3696 }, /* MOVES.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_e78_0), 0, 3704 }, /* MOVES.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_e79_0), 0, 3705 }, /* MOVES.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_e90_0), 0, 3728 }, /* MOVES.L #.W,(An) */ +{ CPUFUNC_FF(op_e98_0), 0, 3736 }, /* MOVES.L #.W,(An)+ */ +{ CPUFUNC_FF(op_ea0_0), 0, 3744 }, /* MOVES.L #.W,-(An) */ +{ CPUFUNC_FF(op_ea8_0), 0, 3752 }, /* MOVES.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_eb0_0), 0, 3760 }, /* MOVES.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_eb8_0), 0, 3768 }, /* MOVES.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_eb9_0), 0, 3769 }, /* MOVES.L #.W,(xxx).L */ +{ CPUFUNC(op_ed0_0), 0, 3792 }, /* CAS.L #.W,(An) */ +{ CPUFUNC(op_ed8_0), 0, 3800 }, /* CAS.L #.W,(An)+ */ +{ CPUFUNC(op_ee0_0), 0, 3808 }, /* CAS.L #.W,-(An) */ +{ CPUFUNC(op_ee8_0), 0, 3816 }, /* CAS.L #.W,(d16,An) */ +{ CPUFUNC(op_ef0_0), 0, 3824 }, /* CAS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ef8_0), 0, 3832 }, /* CAS.L #.W,(xxx).W */ +{ CPUFUNC(op_ef9_0), 0, 3833 }, /* CAS.L #.W,(xxx).L */ +{ CPUFUNC(op_efc_0), 0, 3836 }, /* CAS2.L #.L */ +{ CPUFUNC(op_1000_0), 0, 4096 }, /* MOVE.B Dn,Dn */ +{ CPUFUNC(op_1010_0), 0, 4112 }, /* MOVE.B (An),Dn */ +{ CPUFUNC(op_1018_0), 0, 4120 }, /* MOVE.B (An)+,Dn */ +{ CPUFUNC(op_1020_0), 0, 4128 }, /* MOVE.B -(An),Dn */ +{ CPUFUNC(op_1028_0), 0, 4136 }, /* MOVE.B (d16,An),Dn */ +{ CPUFUNC(op_1030_0), 0, 4144 }, /* MOVE.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_1038_0), 0, 4152 }, /* MOVE.B (xxx).W,Dn */ +{ CPUFUNC(op_1039_0), 0, 4153 }, /* MOVE.B (xxx).L,Dn */ +{ CPUFUNC(op_103a_0), 0, 4154 }, /* MOVE.B (d16,PC),Dn */ +{ CPUFUNC(op_103b_0), 0, 4155 }, /* MOVE.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_103c_0), 0, 4156 }, /* MOVE.B #.B,Dn */ +{ CPUFUNC(op_1080_0), 0, 4224 }, /* MOVE.B Dn,(An) */ +{ CPUFUNC(op_1090_0), 0, 4240 }, /* MOVE.B (An),(An) */ +{ CPUFUNC(op_1098_0), 0, 4248 }, /* MOVE.B (An)+,(An) */ +{ CPUFUNC(op_10a0_0), 0, 4256 }, /* MOVE.B -(An),(An) */ +{ CPUFUNC(op_10a8_0), 0, 4264 }, /* MOVE.B (d16,An),(An) */ +{ CPUFUNC(op_10b0_0), 0, 4272 }, /* MOVE.B (d8,An,Xn),(An) */ +{ CPUFUNC(op_10b8_0), 0, 4280 }, /* MOVE.B (xxx).W,(An) */ +{ CPUFUNC(op_10b9_0), 0, 4281 }, /* MOVE.B (xxx).L,(An) */ +{ CPUFUNC(op_10ba_0), 0, 4282 }, /* MOVE.B (d16,PC),(An) */ +{ CPUFUNC(op_10bb_0), 0, 4283 }, /* MOVE.B (d8,PC,Xn),(An) */ +{ CPUFUNC(op_10bc_0), 0, 4284 }, /* MOVE.B #.B,(An) */ +{ CPUFUNC(op_10c0_0), 0, 4288 }, /* MOVE.B Dn,(An)+ */ +{ CPUFUNC(op_10d0_0), 0, 4304 }, /* MOVE.B (An),(An)+ */ +{ CPUFUNC(op_10d8_0), 0, 4312 }, /* MOVE.B (An)+,(An)+ */ +{ CPUFUNC(op_10e0_0), 0, 4320 }, /* MOVE.B -(An),(An)+ */ +{ CPUFUNC(op_10e8_0), 0, 4328 }, /* MOVE.B (d16,An),(An)+ */ +{ CPUFUNC(op_10f0_0), 0, 4336 }, /* MOVE.B (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_10f8_0), 0, 4344 }, /* MOVE.B (xxx).W,(An)+ */ +{ CPUFUNC(op_10f9_0), 0, 4345 }, /* MOVE.B (xxx).L,(An)+ */ +{ CPUFUNC(op_10fa_0), 0, 4346 }, /* MOVE.B (d16,PC),(An)+ */ +{ CPUFUNC(op_10fb_0), 0, 4347 }, /* MOVE.B (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_10fc_0), 0, 4348 }, /* MOVE.B #.B,(An)+ */ +{ CPUFUNC(op_1100_0), 0, 4352 }, /* MOVE.B Dn,-(An) */ +{ CPUFUNC(op_1110_0), 0, 4368 }, /* MOVE.B (An),-(An) */ +{ CPUFUNC(op_1118_0), 0, 4376 }, /* MOVE.B (An)+,-(An) */ +{ CPUFUNC(op_1120_0), 0, 4384 }, /* MOVE.B -(An),-(An) */ +{ CPUFUNC(op_1128_0), 0, 4392 }, /* MOVE.B (d16,An),-(An) */ +{ CPUFUNC(op_1130_0), 0, 4400 }, /* MOVE.B (d8,An,Xn),-(An) */ +{ CPUFUNC(op_1138_0), 0, 4408 }, /* MOVE.B (xxx).W,-(An) */ +{ CPUFUNC(op_1139_0), 0, 4409 }, /* MOVE.B (xxx).L,-(An) */ +{ CPUFUNC(op_113a_0), 0, 4410 }, /* MOVE.B (d16,PC),-(An) */ +{ CPUFUNC(op_113b_0), 0, 4411 }, /* MOVE.B (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_113c_0), 0, 4412 }, /* MOVE.B #.B,-(An) */ +{ CPUFUNC(op_1140_0), 0, 4416 }, /* MOVE.B Dn,(d16,An) */ +{ CPUFUNC(op_1150_0), 0, 4432 }, /* MOVE.B (An),(d16,An) */ +{ CPUFUNC(op_1158_0), 0, 4440 }, /* MOVE.B (An)+,(d16,An) */ +{ CPUFUNC(op_1160_0), 0, 4448 }, /* MOVE.B -(An),(d16,An) */ +{ CPUFUNC(op_1168_0), 0, 4456 }, /* MOVE.B (d16,An),(d16,An) */ +{ CPUFUNC(op_1170_0), 0, 4464 }, /* MOVE.B (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_1178_0), 0, 4472 }, /* MOVE.B (xxx).W,(d16,An) */ +{ CPUFUNC(op_1179_0), 0, 4473 }, /* MOVE.B (xxx).L,(d16,An) */ +{ CPUFUNC(op_117a_0), 0, 4474 }, /* MOVE.B (d16,PC),(d16,An) */ +{ CPUFUNC(op_117b_0), 0, 4475 }, /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_117c_0), 0, 4476 }, /* MOVE.B #.B,(d16,An) */ +{ CPUFUNC(op_1180_0), 0, 4480 }, /* MOVE.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1190_0), 0, 4496 }, /* MOVE.B (An),(d8,An,Xn) */ +{ CPUFUNC(op_1198_0), 0, 4504 }, /* MOVE.B (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_11a0_0), 0, 4512 }, /* MOVE.B -(An),(d8,An,Xn) */ +{ CPUFUNC(op_11a8_0), 0, 4520 }, /* MOVE.B (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_11b0_0), 0, 4528 }, /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11b8_0), 0, 4536 }, /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_11b9_0), 0, 4537 }, /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_11ba_0), 0, 4538 }, /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_11bb_0), 0, 4539 }, /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11bc_0), 0, 4540 }, /* MOVE.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_11c0_0), 0, 4544 }, /* MOVE.B Dn,(xxx).W */ +{ CPUFUNC(op_11d0_0), 0, 4560 }, /* MOVE.B (An),(xxx).W */ +{ CPUFUNC(op_11d8_0), 0, 4568 }, /* MOVE.B (An)+,(xxx).W */ +{ CPUFUNC(op_11e0_0), 0, 4576 }, /* MOVE.B -(An),(xxx).W */ +{ CPUFUNC(op_11e8_0), 0, 4584 }, /* MOVE.B (d16,An),(xxx).W */ +{ CPUFUNC(op_11f0_0), 0, 4592 }, /* MOVE.B (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_11f8_0), 0, 4600 }, /* MOVE.B (xxx).W,(xxx).W */ +{ CPUFUNC(op_11f9_0), 0, 4601 }, /* MOVE.B (xxx).L,(xxx).W */ +{ CPUFUNC(op_11fa_0), 0, 4602 }, /* MOVE.B (d16,PC),(xxx).W */ +{ CPUFUNC(op_11fb_0), 0, 4603 }, /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_11fc_0), 0, 4604 }, /* MOVE.B #.B,(xxx).W */ +{ CPUFUNC(op_13c0_0), 0, 5056 }, /* MOVE.B Dn,(xxx).L */ +{ CPUFUNC(op_13d0_0), 0, 5072 }, /* MOVE.B (An),(xxx).L */ +{ CPUFUNC(op_13d8_0), 0, 5080 }, /* MOVE.B (An)+,(xxx).L */ +{ CPUFUNC(op_13e0_0), 0, 5088 }, /* MOVE.B -(An),(xxx).L */ +{ CPUFUNC(op_13e8_0), 0, 5096 }, /* MOVE.B (d16,An),(xxx).L */ +{ CPUFUNC(op_13f0_0), 0, 5104 }, /* MOVE.B (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_13f8_0), 0, 5112 }, /* MOVE.B (xxx).W,(xxx).L */ +{ CPUFUNC(op_13f9_0), 0, 5113 }, /* MOVE.B (xxx).L,(xxx).L */ +{ CPUFUNC(op_13fa_0), 0, 5114 }, /* MOVE.B (d16,PC),(xxx).L */ +{ CPUFUNC(op_13fb_0), 0, 5115 }, /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_13fc_0), 0, 5116 }, /* MOVE.B #.B,(xxx).L */ +{ CPUFUNC(op_2000_0), 0, 8192 }, /* MOVE.L Dn,Dn */ +{ CPUFUNC(op_2008_0), 0, 8200 }, /* MOVE.L An,Dn */ +{ CPUFUNC(op_2010_0), 0, 8208 }, /* MOVE.L (An),Dn */ +{ CPUFUNC(op_2018_0), 0, 8216 }, /* MOVE.L (An)+,Dn */ +{ CPUFUNC(op_2020_0), 0, 8224 }, /* MOVE.L -(An),Dn */ +{ CPUFUNC(op_2028_0), 0, 8232 }, /* MOVE.L (d16,An),Dn */ +{ CPUFUNC(op_2030_0), 0, 8240 }, /* MOVE.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_2038_0), 0, 8248 }, /* MOVE.L (xxx).W,Dn */ +{ CPUFUNC(op_2039_0), 0, 8249 }, /* MOVE.L (xxx).L,Dn */ +{ CPUFUNC(op_203a_0), 0, 8250 }, /* MOVE.L (d16,PC),Dn */ +{ CPUFUNC(op_203b_0), 0, 8251 }, /* MOVE.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_203c_0), 0, 8252 }, /* MOVE.L #.L,Dn */ +{ CPUFUNC_FF(op_2040_0), 0, 8256 }, /* MOVEA.L Dn,An */ +{ CPUFUNC_FF(op_2048_0), 0, 8264 }, /* MOVEA.L An,An */ +{ CPUFUNC_FF(op_2050_0), 0, 8272 }, /* MOVEA.L (An),An */ +{ CPUFUNC_FF(op_2058_0), 0, 8280 }, /* MOVEA.L (An)+,An */ +{ CPUFUNC_FF(op_2060_0), 0, 8288 }, /* MOVEA.L -(An),An */ +{ CPUFUNC_FF(op_2068_0), 0, 8296 }, /* MOVEA.L (d16,An),An */ +{ CPUFUNC_FF(op_2070_0), 0, 8304 }, /* MOVEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_2078_0), 0, 8312 }, /* MOVEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_2079_0), 0, 8313 }, /* MOVEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_207a_0), 0, 8314 }, /* MOVEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_207b_0), 0, 8315 }, /* MOVEA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_207c_0), 0, 8316 }, /* MOVEA.L #.L,An */ +{ CPUFUNC(op_2080_0), 0, 8320 }, /* MOVE.L Dn,(An) */ +{ CPUFUNC(op_2088_0), 0, 8328 }, /* MOVE.L An,(An) */ +{ CPUFUNC(op_2090_0), 0, 8336 }, /* MOVE.L (An),(An) */ +{ CPUFUNC(op_2098_0), 0, 8344 }, /* MOVE.L (An)+,(An) */ +{ CPUFUNC(op_20a0_0), 0, 8352 }, /* MOVE.L -(An),(An) */ +{ CPUFUNC(op_20a8_0), 0, 8360 }, /* MOVE.L (d16,An),(An) */ +{ CPUFUNC(op_20b0_0), 0, 8368 }, /* MOVE.L (d8,An,Xn),(An) */ +{ CPUFUNC(op_20b8_0), 0, 8376 }, /* MOVE.L (xxx).W,(An) */ +{ CPUFUNC(op_20b9_0), 0, 8377 }, /* MOVE.L (xxx).L,(An) */ +{ CPUFUNC(op_20ba_0), 0, 8378 }, /* MOVE.L (d16,PC),(An) */ +{ CPUFUNC(op_20bb_0), 0, 8379 }, /* MOVE.L (d8,PC,Xn),(An) */ +{ CPUFUNC(op_20bc_0), 0, 8380 }, /* MOVE.L #.L,(An) */ +{ CPUFUNC(op_20c0_0), 0, 8384 }, /* MOVE.L Dn,(An)+ */ +{ CPUFUNC(op_20c8_0), 0, 8392 }, /* MOVE.L An,(An)+ */ +{ CPUFUNC(op_20d0_0), 0, 8400 }, /* MOVE.L (An),(An)+ */ +{ CPUFUNC(op_20d8_0), 0, 8408 }, /* MOVE.L (An)+,(An)+ */ +{ CPUFUNC(op_20e0_0), 0, 8416 }, /* MOVE.L -(An),(An)+ */ +{ CPUFUNC(op_20e8_0), 0, 8424 }, /* MOVE.L (d16,An),(An)+ */ +{ CPUFUNC(op_20f0_0), 0, 8432 }, /* MOVE.L (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_20f8_0), 0, 8440 }, /* MOVE.L (xxx).W,(An)+ */ +{ CPUFUNC(op_20f9_0), 0, 8441 }, /* MOVE.L (xxx).L,(An)+ */ +{ CPUFUNC(op_20fa_0), 0, 8442 }, /* MOVE.L (d16,PC),(An)+ */ +{ CPUFUNC(op_20fb_0), 0, 8443 }, /* MOVE.L (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_20fc_0), 0, 8444 }, /* MOVE.L #.L,(An)+ */ +{ CPUFUNC(op_2100_0), 0, 8448 }, /* MOVE.L Dn,-(An) */ +{ CPUFUNC(op_2108_0), 0, 8456 }, /* MOVE.L An,-(An) */ +{ CPUFUNC(op_2110_0), 0, 8464 }, /* MOVE.L (An),-(An) */ +{ CPUFUNC(op_2118_0), 0, 8472 }, /* MOVE.L (An)+,-(An) */ +{ CPUFUNC(op_2120_0), 0, 8480 }, /* MOVE.L -(An),-(An) */ +{ CPUFUNC(op_2128_0), 0, 8488 }, /* MOVE.L (d16,An),-(An) */ +{ CPUFUNC(op_2130_0), 0, 8496 }, /* MOVE.L (d8,An,Xn),-(An) */ +{ CPUFUNC(op_2138_0), 0, 8504 }, /* MOVE.L (xxx).W,-(An) */ +{ CPUFUNC(op_2139_0), 0, 8505 }, /* MOVE.L (xxx).L,-(An) */ +{ CPUFUNC(op_213a_0), 0, 8506 }, /* MOVE.L (d16,PC),-(An) */ +{ CPUFUNC(op_213b_0), 0, 8507 }, /* MOVE.L (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_213c_0), 0, 8508 }, /* MOVE.L #.L,-(An) */ +{ CPUFUNC(op_2140_0), 0, 8512 }, /* MOVE.L Dn,(d16,An) */ +{ CPUFUNC(op_2148_0), 0, 8520 }, /* MOVE.L An,(d16,An) */ +{ CPUFUNC(op_2150_0), 0, 8528 }, /* MOVE.L (An),(d16,An) */ +{ CPUFUNC(op_2158_0), 0, 8536 }, /* MOVE.L (An)+,(d16,An) */ +{ CPUFUNC(op_2160_0), 0, 8544 }, /* MOVE.L -(An),(d16,An) */ +{ CPUFUNC(op_2168_0), 0, 8552 }, /* MOVE.L (d16,An),(d16,An) */ +{ CPUFUNC(op_2170_0), 0, 8560 }, /* MOVE.L (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_2178_0), 0, 8568 }, /* MOVE.L (xxx).W,(d16,An) */ +{ CPUFUNC(op_2179_0), 0, 8569 }, /* MOVE.L (xxx).L,(d16,An) */ +{ CPUFUNC(op_217a_0), 0, 8570 }, /* MOVE.L (d16,PC),(d16,An) */ +{ CPUFUNC(op_217b_0), 0, 8571 }, /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_217c_0), 0, 8572 }, /* MOVE.L #.L,(d16,An) */ +{ CPUFUNC(op_2180_0), 0, 8576 }, /* MOVE.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_2188_0), 0, 8584 }, /* MOVE.L An,(d8,An,Xn) */ +{ CPUFUNC(op_2190_0), 0, 8592 }, /* MOVE.L (An),(d8,An,Xn) */ +{ CPUFUNC(op_2198_0), 0, 8600 }, /* MOVE.L (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_21a0_0), 0, 8608 }, /* MOVE.L -(An),(d8,An,Xn) */ +{ CPUFUNC(op_21a8_0), 0, 8616 }, /* MOVE.L (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_21b0_0), 0, 8624 }, /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21b8_0), 0, 8632 }, /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_21b9_0), 0, 8633 }, /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_21ba_0), 0, 8634 }, /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_21bb_0), 0, 8635 }, /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21bc_0), 0, 8636 }, /* MOVE.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_21c0_0), 0, 8640 }, /* MOVE.L Dn,(xxx).W */ +{ CPUFUNC(op_21c8_0), 0, 8648 }, /* MOVE.L An,(xxx).W */ +{ CPUFUNC(op_21d0_0), 0, 8656 }, /* MOVE.L (An),(xxx).W */ +{ CPUFUNC(op_21d8_0), 0, 8664 }, /* MOVE.L (An)+,(xxx).W */ +{ CPUFUNC(op_21e0_0), 0, 8672 }, /* MOVE.L -(An),(xxx).W */ +{ CPUFUNC(op_21e8_0), 0, 8680 }, /* MOVE.L (d16,An),(xxx).W */ +{ CPUFUNC(op_21f0_0), 0, 8688 }, /* MOVE.L (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_21f8_0), 0, 8696 }, /* MOVE.L (xxx).W,(xxx).W */ +{ CPUFUNC(op_21f9_0), 0, 8697 }, /* MOVE.L (xxx).L,(xxx).W */ +{ CPUFUNC(op_21fa_0), 0, 8698 }, /* MOVE.L (d16,PC),(xxx).W */ +{ CPUFUNC(op_21fb_0), 0, 8699 }, /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_21fc_0), 0, 8700 }, /* MOVE.L #.L,(xxx).W */ +{ CPUFUNC(op_23c0_0), 0, 9152 }, /* MOVE.L Dn,(xxx).L */ +{ CPUFUNC(op_23c8_0), 0, 9160 }, /* MOVE.L An,(xxx).L */ +{ CPUFUNC(op_23d0_0), 0, 9168 }, /* MOVE.L (An),(xxx).L */ +{ CPUFUNC(op_23d8_0), 0, 9176 }, /* MOVE.L (An)+,(xxx).L */ +{ CPUFUNC(op_23e0_0), 0, 9184 }, /* MOVE.L -(An),(xxx).L */ +{ CPUFUNC(op_23e8_0), 0, 9192 }, /* MOVE.L (d16,An),(xxx).L */ +{ CPUFUNC(op_23f0_0), 0, 9200 }, /* MOVE.L (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_23f8_0), 0, 9208 }, /* MOVE.L (xxx).W,(xxx).L */ +{ CPUFUNC(op_23f9_0), 0, 9209 }, /* MOVE.L (xxx).L,(xxx).L */ +{ CPUFUNC(op_23fa_0), 0, 9210 }, /* MOVE.L (d16,PC),(xxx).L */ +{ CPUFUNC(op_23fb_0), 0, 9211 }, /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_23fc_0), 0, 9212 }, /* MOVE.L #.L,(xxx).L */ +{ CPUFUNC(op_3000_0), 0, 12288 }, /* MOVE.W Dn,Dn */ +{ CPUFUNC(op_3008_0), 0, 12296 }, /* MOVE.W An,Dn */ +{ CPUFUNC(op_3010_0), 0, 12304 }, /* MOVE.W (An),Dn */ +{ CPUFUNC(op_3018_0), 0, 12312 }, /* MOVE.W (An)+,Dn */ +{ CPUFUNC(op_3020_0), 0, 12320 }, /* MOVE.W -(An),Dn */ +{ CPUFUNC(op_3028_0), 0, 12328 }, /* MOVE.W (d16,An),Dn */ +{ CPUFUNC(op_3030_0), 0, 12336 }, /* MOVE.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_3038_0), 0, 12344 }, /* MOVE.W (xxx).W,Dn */ +{ CPUFUNC(op_3039_0), 0, 12345 }, /* MOVE.W (xxx).L,Dn */ +{ CPUFUNC(op_303a_0), 0, 12346 }, /* MOVE.W (d16,PC),Dn */ +{ CPUFUNC(op_303b_0), 0, 12347 }, /* MOVE.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_303c_0), 0, 12348 }, /* MOVE.W #.W,Dn */ +{ CPUFUNC_FF(op_3040_0), 0, 12352 }, /* MOVEA.W Dn,An */ +{ CPUFUNC_FF(op_3048_0), 0, 12360 }, /* MOVEA.W An,An */ +{ CPUFUNC_FF(op_3050_0), 0, 12368 }, /* MOVEA.W (An),An */ +{ CPUFUNC_FF(op_3058_0), 0, 12376 }, /* MOVEA.W (An)+,An */ +{ CPUFUNC_FF(op_3060_0), 0, 12384 }, /* MOVEA.W -(An),An */ +{ CPUFUNC_FF(op_3068_0), 0, 12392 }, /* MOVEA.W (d16,An),An */ +{ CPUFUNC_FF(op_3070_0), 0, 12400 }, /* MOVEA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_3078_0), 0, 12408 }, /* MOVEA.W (xxx).W,An */ +{ CPUFUNC_FF(op_3079_0), 0, 12409 }, /* MOVEA.W (xxx).L,An */ +{ CPUFUNC_FF(op_307a_0), 0, 12410 }, /* MOVEA.W (d16,PC),An */ +{ CPUFUNC_FF(op_307b_0), 0, 12411 }, /* MOVEA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_307c_0), 0, 12412 }, /* MOVEA.W #.W,An */ +{ CPUFUNC(op_3080_0), 0, 12416 }, /* MOVE.W Dn,(An) */ +{ CPUFUNC(op_3088_0), 0, 12424 }, /* MOVE.W An,(An) */ +{ CPUFUNC(op_3090_0), 0, 12432 }, /* MOVE.W (An),(An) */ +{ CPUFUNC(op_3098_0), 0, 12440 }, /* MOVE.W (An)+,(An) */ +{ CPUFUNC(op_30a0_0), 0, 12448 }, /* MOVE.W -(An),(An) */ +{ CPUFUNC(op_30a8_0), 0, 12456 }, /* MOVE.W (d16,An),(An) */ +{ CPUFUNC(op_30b0_0), 0, 12464 }, /* MOVE.W (d8,An,Xn),(An) */ +{ CPUFUNC(op_30b8_0), 0, 12472 }, /* MOVE.W (xxx).W,(An) */ +{ CPUFUNC(op_30b9_0), 0, 12473 }, /* MOVE.W (xxx).L,(An) */ +{ CPUFUNC(op_30ba_0), 0, 12474 }, /* MOVE.W (d16,PC),(An) */ +{ CPUFUNC(op_30bb_0), 0, 12475 }, /* MOVE.W (d8,PC,Xn),(An) */ +{ CPUFUNC(op_30bc_0), 0, 12476 }, /* MOVE.W #.W,(An) */ +{ CPUFUNC(op_30c0_0), 0, 12480 }, /* MOVE.W Dn,(An)+ */ +{ CPUFUNC(op_30c8_0), 0, 12488 }, /* MOVE.W An,(An)+ */ +{ CPUFUNC(op_30d0_0), 0, 12496 }, /* MOVE.W (An),(An)+ */ +{ CPUFUNC(op_30d8_0), 0, 12504 }, /* MOVE.W (An)+,(An)+ */ +{ CPUFUNC(op_30e0_0), 0, 12512 }, /* MOVE.W -(An),(An)+ */ +{ CPUFUNC(op_30e8_0), 0, 12520 }, /* MOVE.W (d16,An),(An)+ */ +{ CPUFUNC(op_30f0_0), 0, 12528 }, /* MOVE.W (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_30f8_0), 0, 12536 }, /* MOVE.W (xxx).W,(An)+ */ +{ CPUFUNC(op_30f9_0), 0, 12537 }, /* MOVE.W (xxx).L,(An)+ */ +{ CPUFUNC(op_30fa_0), 0, 12538 }, /* MOVE.W (d16,PC),(An)+ */ +{ CPUFUNC(op_30fb_0), 0, 12539 }, /* MOVE.W (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_30fc_0), 0, 12540 }, /* MOVE.W #.W,(An)+ */ +{ CPUFUNC(op_3100_0), 0, 12544 }, /* MOVE.W Dn,-(An) */ +{ CPUFUNC(op_3108_0), 0, 12552 }, /* MOVE.W An,-(An) */ +{ CPUFUNC(op_3110_0), 0, 12560 }, /* MOVE.W (An),-(An) */ +{ CPUFUNC(op_3118_0), 0, 12568 }, /* MOVE.W (An)+,-(An) */ +{ CPUFUNC(op_3120_0), 0, 12576 }, /* MOVE.W -(An),-(An) */ +{ CPUFUNC(op_3128_0), 0, 12584 }, /* MOVE.W (d16,An),-(An) */ +{ CPUFUNC(op_3130_0), 0, 12592 }, /* MOVE.W (d8,An,Xn),-(An) */ +{ CPUFUNC(op_3138_0), 0, 12600 }, /* MOVE.W (xxx).W,-(An) */ +{ CPUFUNC(op_3139_0), 0, 12601 }, /* MOVE.W (xxx).L,-(An) */ +{ CPUFUNC(op_313a_0), 0, 12602 }, /* MOVE.W (d16,PC),-(An) */ +{ CPUFUNC(op_313b_0), 0, 12603 }, /* MOVE.W (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_313c_0), 0, 12604 }, /* MOVE.W #.W,-(An) */ +{ CPUFUNC(op_3140_0), 0, 12608 }, /* MOVE.W Dn,(d16,An) */ +{ CPUFUNC(op_3148_0), 0, 12616 }, /* MOVE.W An,(d16,An) */ +{ CPUFUNC(op_3150_0), 0, 12624 }, /* MOVE.W (An),(d16,An) */ +{ CPUFUNC(op_3158_0), 0, 12632 }, /* MOVE.W (An)+,(d16,An) */ +{ CPUFUNC(op_3160_0), 0, 12640 }, /* MOVE.W -(An),(d16,An) */ +{ CPUFUNC(op_3168_0), 0, 12648 }, /* MOVE.W (d16,An),(d16,An) */ +{ CPUFUNC(op_3170_0), 0, 12656 }, /* MOVE.W (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_3178_0), 0, 12664 }, /* MOVE.W (xxx).W,(d16,An) */ +{ CPUFUNC(op_3179_0), 0, 12665 }, /* MOVE.W (xxx).L,(d16,An) */ +{ CPUFUNC(op_317a_0), 0, 12666 }, /* MOVE.W (d16,PC),(d16,An) */ +{ CPUFUNC(op_317b_0), 0, 12667 }, /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_317c_0), 0, 12668 }, /* MOVE.W #.W,(d16,An) */ +{ CPUFUNC(op_3180_0), 0, 12672 }, /* MOVE.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_3188_0), 0, 12680 }, /* MOVE.W An,(d8,An,Xn) */ +{ CPUFUNC(op_3190_0), 0, 12688 }, /* MOVE.W (An),(d8,An,Xn) */ +{ CPUFUNC(op_3198_0), 0, 12696 }, /* MOVE.W (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_31a0_0), 0, 12704 }, /* MOVE.W -(An),(d8,An,Xn) */ +{ CPUFUNC(op_31a8_0), 0, 12712 }, /* MOVE.W (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_31b0_0), 0, 12720 }, /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31b8_0), 0, 12728 }, /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_31b9_0), 0, 12729 }, /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_31ba_0), 0, 12730 }, /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_31bb_0), 0, 12731 }, /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31bc_0), 0, 12732 }, /* MOVE.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_31c0_0), 0, 12736 }, /* MOVE.W Dn,(xxx).W */ +{ CPUFUNC(op_31c8_0), 0, 12744 }, /* MOVE.W An,(xxx).W */ +{ CPUFUNC(op_31d0_0), 0, 12752 }, /* MOVE.W (An),(xxx).W */ +{ CPUFUNC(op_31d8_0), 0, 12760 }, /* MOVE.W (An)+,(xxx).W */ +{ CPUFUNC(op_31e0_0), 0, 12768 }, /* MOVE.W -(An),(xxx).W */ +{ CPUFUNC(op_31e8_0), 0, 12776 }, /* MOVE.W (d16,An),(xxx).W */ +{ CPUFUNC(op_31f0_0), 0, 12784 }, /* MOVE.W (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_31f8_0), 0, 12792 }, /* MOVE.W (xxx).W,(xxx).W */ +{ CPUFUNC(op_31f9_0), 0, 12793 }, /* MOVE.W (xxx).L,(xxx).W */ +{ CPUFUNC(op_31fa_0), 0, 12794 }, /* MOVE.W (d16,PC),(xxx).W */ +{ CPUFUNC(op_31fb_0), 0, 12795 }, /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_31fc_0), 0, 12796 }, /* MOVE.W #.W,(xxx).W */ +{ CPUFUNC(op_33c0_0), 0, 13248 }, /* MOVE.W Dn,(xxx).L */ +{ CPUFUNC(op_33c8_0), 0, 13256 }, /* MOVE.W An,(xxx).L */ +{ CPUFUNC(op_33d0_0), 0, 13264 }, /* MOVE.W (An),(xxx).L */ +{ CPUFUNC(op_33d8_0), 0, 13272 }, /* MOVE.W (An)+,(xxx).L */ +{ CPUFUNC(op_33e0_0), 0, 13280 }, /* MOVE.W -(An),(xxx).L */ +{ CPUFUNC(op_33e8_0), 0, 13288 }, /* MOVE.W (d16,An),(xxx).L */ +{ CPUFUNC(op_33f0_0), 0, 13296 }, /* MOVE.W (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_33f8_0), 0, 13304 }, /* MOVE.W (xxx).W,(xxx).L */ +{ CPUFUNC(op_33f9_0), 0, 13305 }, /* MOVE.W (xxx).L,(xxx).L */ +{ CPUFUNC(op_33fa_0), 0, 13306 }, /* MOVE.W (d16,PC),(xxx).L */ +{ CPUFUNC(op_33fb_0), 0, 13307 }, /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_33fc_0), 0, 13308 }, /* MOVE.W #.W,(xxx).L */ +{ CPUFUNC(op_4000_0), 0, 16384 }, /* NEGX.B Dn */ +{ CPUFUNC(op_4010_0), 0, 16400 }, /* NEGX.B (An) */ +{ CPUFUNC(op_4018_0), 0, 16408 }, /* NEGX.B (An)+ */ +{ CPUFUNC(op_4020_0), 0, 16416 }, /* NEGX.B -(An) */ +{ CPUFUNC(op_4028_0), 0, 16424 }, /* NEGX.B (d16,An) */ +{ CPUFUNC(op_4030_0), 0, 16432 }, /* NEGX.B (d8,An,Xn) */ +{ CPUFUNC(op_4038_0), 0, 16440 }, /* NEGX.B (xxx).W */ +{ CPUFUNC(op_4039_0), 0, 16441 }, /* NEGX.B (xxx).L */ +{ CPUFUNC(op_4040_0), 0, 16448 }, /* NEGX.W Dn */ +{ CPUFUNC(op_4050_0), 0, 16464 }, /* NEGX.W (An) */ +{ CPUFUNC(op_4058_0), 0, 16472 }, /* NEGX.W (An)+ */ +{ CPUFUNC(op_4060_0), 0, 16480 }, /* NEGX.W -(An) */ +{ CPUFUNC(op_4068_0), 0, 16488 }, /* NEGX.W (d16,An) */ +{ CPUFUNC(op_4070_0), 0, 16496 }, /* NEGX.W (d8,An,Xn) */ +{ CPUFUNC(op_4078_0), 0, 16504 }, /* NEGX.W (xxx).W */ +{ CPUFUNC(op_4079_0), 0, 16505 }, /* NEGX.W (xxx).L */ +{ CPUFUNC(op_4080_0), 0, 16512 }, /* NEGX.L Dn */ +{ CPUFUNC(op_4090_0), 0, 16528 }, /* NEGX.L (An) */ +{ CPUFUNC(op_4098_0), 0, 16536 }, /* NEGX.L (An)+ */ +{ CPUFUNC(op_40a0_0), 0, 16544 }, /* NEGX.L -(An) */ +{ CPUFUNC(op_40a8_0), 0, 16552 }, /* NEGX.L (d16,An) */ +{ CPUFUNC(op_40b0_0), 0, 16560 }, /* NEGX.L (d8,An,Xn) */ +{ CPUFUNC(op_40b8_0), 0, 16568 }, /* NEGX.L (xxx).W */ +{ CPUFUNC(op_40b9_0), 0, 16569 }, /* NEGX.L (xxx).L */ +{ CPUFUNC_FF(op_40c0_0), 0, 16576 }, /* MVSR2.W Dn */ +{ CPUFUNC_FF(op_40d0_0), 0, 16592 }, /* MVSR2.W (An) */ +{ CPUFUNC_FF(op_40d8_0), 0, 16600 }, /* MVSR2.W (An)+ */ +{ CPUFUNC_FF(op_40e0_0), 0, 16608 }, /* MVSR2.W -(An) */ +{ CPUFUNC_FF(op_40e8_0), 0, 16616 }, /* MVSR2.W (d16,An) */ +{ CPUFUNC_FF(op_40f0_0), 0, 16624 }, /* MVSR2.W (d8,An,Xn) */ +{ CPUFUNC_FF(op_40f8_0), 0, 16632 }, /* MVSR2.W (xxx).W */ +{ CPUFUNC_FF(op_40f9_0), 0, 16633 }, /* MVSR2.W (xxx).L */ +{ CPUFUNC(op_4100_0), 0, 16640 }, /* CHK.L Dn,Dn */ +{ CPUFUNC(op_4110_0), 0, 16656 }, /* CHK.L (An),Dn */ +{ CPUFUNC(op_4118_0), 0, 16664 }, /* CHK.L (An)+,Dn */ +{ CPUFUNC(op_4120_0), 0, 16672 }, /* CHK.L -(An),Dn */ +{ CPUFUNC(op_4128_0), 0, 16680 }, /* CHK.L (d16,An),Dn */ +{ CPUFUNC(op_4130_0), 0, 16688 }, /* CHK.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_4138_0), 0, 16696 }, /* CHK.L (xxx).W,Dn */ +{ CPUFUNC(op_4139_0), 0, 16697 }, /* CHK.L (xxx).L,Dn */ +{ CPUFUNC(op_413a_0), 0, 16698 }, /* CHK.L (d16,PC),Dn */ +{ CPUFUNC(op_413b_0), 0, 16699 }, /* CHK.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_413c_0), 0, 16700 }, /* CHK.L #.L,Dn */ +{ CPUFUNC(op_4180_0), 0, 16768 }, /* CHK.W Dn,Dn */ +{ CPUFUNC(op_4190_0), 0, 16784 }, /* CHK.W (An),Dn */ +{ CPUFUNC(op_4198_0), 0, 16792 }, /* CHK.W (An)+,Dn */ +{ CPUFUNC(op_41a0_0), 0, 16800 }, /* CHK.W -(An),Dn */ +{ CPUFUNC(op_41a8_0), 0, 16808 }, /* CHK.W (d16,An),Dn */ +{ CPUFUNC(op_41b0_0), 0, 16816 }, /* CHK.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_41b8_0), 0, 16824 }, /* CHK.W (xxx).W,Dn */ +{ CPUFUNC(op_41b9_0), 0, 16825 }, /* CHK.W (xxx).L,Dn */ +{ CPUFUNC(op_41ba_0), 0, 16826 }, /* CHK.W (d16,PC),Dn */ +{ CPUFUNC(op_41bb_0), 0, 16827 }, /* CHK.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_41bc_0), 0, 16828 }, /* CHK.W #.W,Dn */ +{ CPUFUNC_FF(op_41d0_0), 0, 16848 }, /* LEA.L (An),An */ +{ CPUFUNC_FF(op_41e8_0), 0, 16872 }, /* LEA.L (d16,An),An */ +{ CPUFUNC_FF(op_41f0_0), 0, 16880 }, /* LEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_41f8_0), 0, 16888 }, /* LEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_41f9_0), 0, 16889 }, /* LEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_41fa_0), 0, 16890 }, /* LEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_41fb_0), 0, 16891 }, /* LEA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_4200_0), 0, 16896 }, /* CLR.B Dn */ +{ CPUFUNC(op_4210_0), 0, 16912 }, /* CLR.B (An) */ +{ CPUFUNC(op_4218_0), 0, 16920 }, /* CLR.B (An)+ */ +{ CPUFUNC(op_4220_0), 0, 16928 }, /* CLR.B -(An) */ +{ CPUFUNC(op_4228_0), 0, 16936 }, /* CLR.B (d16,An) */ +{ CPUFUNC(op_4230_0), 0, 16944 }, /* CLR.B (d8,An,Xn) */ +{ CPUFUNC(op_4238_0), 0, 16952 }, /* CLR.B (xxx).W */ +{ CPUFUNC(op_4239_0), 0, 16953 }, /* CLR.B (xxx).L */ +{ CPUFUNC(op_4240_0), 0, 16960 }, /* CLR.W Dn */ +{ CPUFUNC(op_4250_0), 0, 16976 }, /* CLR.W (An) */ +{ CPUFUNC(op_4258_0), 0, 16984 }, /* CLR.W (An)+ */ +{ CPUFUNC(op_4260_0), 0, 16992 }, /* CLR.W -(An) */ +{ CPUFUNC(op_4268_0), 0, 17000 }, /* CLR.W (d16,An) */ +{ CPUFUNC(op_4270_0), 0, 17008 }, /* CLR.W (d8,An,Xn) */ +{ CPUFUNC(op_4278_0), 0, 17016 }, /* CLR.W (xxx).W */ +{ CPUFUNC(op_4279_0), 0, 17017 }, /* CLR.W (xxx).L */ +{ CPUFUNC(op_4280_0), 0, 17024 }, /* CLR.L Dn */ +{ CPUFUNC(op_4290_0), 0, 17040 }, /* CLR.L (An) */ +{ CPUFUNC(op_4298_0), 0, 17048 }, /* CLR.L (An)+ */ +{ CPUFUNC(op_42a0_0), 0, 17056 }, /* CLR.L -(An) */ +{ CPUFUNC(op_42a8_0), 0, 17064 }, /* CLR.L (d16,An) */ +{ CPUFUNC(op_42b0_0), 0, 17072 }, /* CLR.L (d8,An,Xn) */ +{ CPUFUNC(op_42b8_0), 0, 17080 }, /* CLR.L (xxx).W */ +{ CPUFUNC(op_42b9_0), 0, 17081 }, /* CLR.L (xxx).L */ +{ CPUFUNC_FF(op_42c0_0), 0, 17088 }, /* MVSR2.B Dn */ +{ CPUFUNC_FF(op_42d0_0), 0, 17104 }, /* MVSR2.B (An) */ +{ CPUFUNC_FF(op_42d8_0), 0, 17112 }, /* MVSR2.B (An)+ */ +{ CPUFUNC_FF(op_42e0_0), 0, 17120 }, /* MVSR2.B -(An) */ +{ CPUFUNC_FF(op_42e8_0), 0, 17128 }, /* MVSR2.B (d16,An) */ +{ CPUFUNC_FF(op_42f0_0), 0, 17136 }, /* MVSR2.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_42f8_0), 0, 17144 }, /* MVSR2.B (xxx).W */ +{ CPUFUNC_FF(op_42f9_0), 0, 17145 }, /* MVSR2.B (xxx).L */ +{ CPUFUNC(op_4400_0), 0, 17408 }, /* NEG.B Dn */ +{ CPUFUNC(op_4410_0), 0, 17424 }, /* NEG.B (An) */ +{ CPUFUNC(op_4418_0), 0, 17432 }, /* NEG.B (An)+ */ +{ CPUFUNC(op_4420_0), 0, 17440 }, /* NEG.B -(An) */ +{ CPUFUNC(op_4428_0), 0, 17448 }, /* NEG.B (d16,An) */ +{ CPUFUNC(op_4430_0), 0, 17456 }, /* NEG.B (d8,An,Xn) */ +{ CPUFUNC(op_4438_0), 0, 17464 }, /* NEG.B (xxx).W */ +{ CPUFUNC(op_4439_0), 0, 17465 }, /* NEG.B (xxx).L */ +{ CPUFUNC(op_4440_0), 0, 17472 }, /* NEG.W Dn */ +{ CPUFUNC(op_4450_0), 0, 17488 }, /* NEG.W (An) */ +{ CPUFUNC(op_4458_0), 0, 17496 }, /* NEG.W (An)+ */ +{ CPUFUNC(op_4460_0), 0, 17504 }, /* NEG.W -(An) */ +{ CPUFUNC(op_4468_0), 0, 17512 }, /* NEG.W (d16,An) */ +{ CPUFUNC(op_4470_0), 0, 17520 }, /* NEG.W (d8,An,Xn) */ +{ CPUFUNC(op_4478_0), 0, 17528 }, /* NEG.W (xxx).W */ +{ CPUFUNC(op_4479_0), 0, 17529 }, /* NEG.W (xxx).L */ +{ CPUFUNC(op_4480_0), 0, 17536 }, /* NEG.L Dn */ +{ CPUFUNC(op_4490_0), 0, 17552 }, /* NEG.L (An) */ +{ CPUFUNC(op_4498_0), 0, 17560 }, /* NEG.L (An)+ */ +{ CPUFUNC(op_44a0_0), 0, 17568 }, /* NEG.L -(An) */ +{ CPUFUNC(op_44a8_0), 0, 17576 }, /* NEG.L (d16,An) */ +{ CPUFUNC(op_44b0_0), 0, 17584 }, /* NEG.L (d8,An,Xn) */ +{ CPUFUNC(op_44b8_0), 0, 17592 }, /* NEG.L (xxx).W */ +{ CPUFUNC(op_44b9_0), 0, 17593 }, /* NEG.L (xxx).L */ +{ CPUFUNC(op_44c0_0), 0, 17600 }, /* MV2SR.B Dn */ +{ CPUFUNC(op_44d0_0), 0, 17616 }, /* MV2SR.B (An) */ +{ CPUFUNC(op_44d8_0), 0, 17624 }, /* MV2SR.B (An)+ */ +{ CPUFUNC(op_44e0_0), 0, 17632 }, /* MV2SR.B -(An) */ +{ CPUFUNC(op_44e8_0), 0, 17640 }, /* MV2SR.B (d16,An) */ +{ CPUFUNC(op_44f0_0), 0, 17648 }, /* MV2SR.B (d8,An,Xn) */ +{ CPUFUNC(op_44f8_0), 0, 17656 }, /* MV2SR.B (xxx).W */ +{ CPUFUNC(op_44f9_0), 0, 17657 }, /* MV2SR.B (xxx).L */ +{ CPUFUNC(op_44fa_0), 0, 17658 }, /* MV2SR.B (d16,PC) */ +{ CPUFUNC(op_44fb_0), 0, 17659 }, /* MV2SR.B (d8,PC,Xn) */ +{ CPUFUNC(op_44fc_0), 0, 17660 }, /* MV2SR.B #.B */ +{ CPUFUNC(op_4600_0), 0, 17920 }, /* NOT.B Dn */ +{ CPUFUNC(op_4610_0), 0, 17936 }, /* NOT.B (An) */ +{ CPUFUNC(op_4618_0), 0, 17944 }, /* NOT.B (An)+ */ +{ CPUFUNC(op_4620_0), 0, 17952 }, /* NOT.B -(An) */ +{ CPUFUNC(op_4628_0), 0, 17960 }, /* NOT.B (d16,An) */ +{ CPUFUNC(op_4630_0), 0, 17968 }, /* NOT.B (d8,An,Xn) */ +{ CPUFUNC(op_4638_0), 0, 17976 }, /* NOT.B (xxx).W */ +{ CPUFUNC(op_4639_0), 0, 17977 }, /* NOT.B (xxx).L */ +{ CPUFUNC(op_4640_0), 0, 17984 }, /* NOT.W Dn */ +{ CPUFUNC(op_4650_0), 0, 18000 }, /* NOT.W (An) */ +{ CPUFUNC(op_4658_0), 0, 18008 }, /* NOT.W (An)+ */ +{ CPUFUNC(op_4660_0), 0, 18016 }, /* NOT.W -(An) */ +{ CPUFUNC(op_4668_0), 0, 18024 }, /* NOT.W (d16,An) */ +{ CPUFUNC(op_4670_0), 0, 18032 }, /* NOT.W (d8,An,Xn) */ +{ CPUFUNC(op_4678_0), 0, 18040 }, /* NOT.W (xxx).W */ +{ CPUFUNC(op_4679_0), 0, 18041 }, /* NOT.W (xxx).L */ +{ CPUFUNC(op_4680_0), 0, 18048 }, /* NOT.L Dn */ +{ CPUFUNC(op_4690_0), 0, 18064 }, /* NOT.L (An) */ +{ CPUFUNC(op_4698_0), 0, 18072 }, /* NOT.L (An)+ */ +{ CPUFUNC(op_46a0_0), 0, 18080 }, /* NOT.L -(An) */ +{ CPUFUNC(op_46a8_0), 0, 18088 }, /* NOT.L (d16,An) */ +{ CPUFUNC(op_46b0_0), 0, 18096 }, /* NOT.L (d8,An,Xn) */ +{ CPUFUNC(op_46b8_0), 0, 18104 }, /* NOT.L (xxx).W */ +{ CPUFUNC(op_46b9_0), 0, 18105 }, /* NOT.L (xxx).L */ +{ CPUFUNC(op_46c0_0), 0, 18112 }, /* MV2SR.W Dn */ +{ CPUFUNC(op_46d0_0), 0, 18128 }, /* MV2SR.W (An) */ +{ CPUFUNC(op_46d8_0), 0, 18136 }, /* MV2SR.W (An)+ */ +{ CPUFUNC(op_46e0_0), 0, 18144 }, /* MV2SR.W -(An) */ +{ CPUFUNC(op_46e8_0), 0, 18152 }, /* MV2SR.W (d16,An) */ +{ CPUFUNC(op_46f0_0), 0, 18160 }, /* MV2SR.W (d8,An,Xn) */ +{ CPUFUNC(op_46f8_0), 0, 18168 }, /* MV2SR.W (xxx).W */ +{ CPUFUNC(op_46f9_0), 0, 18169 }, /* MV2SR.W (xxx).L */ +{ CPUFUNC(op_46fa_0), 0, 18170 }, /* MV2SR.W (d16,PC) */ +{ CPUFUNC(op_46fb_0), 0, 18171 }, /* MV2SR.W (d8,PC,Xn) */ +{ CPUFUNC(op_46fc_0), 0, 18172 }, /* MV2SR.W #.W */ +{ CPUFUNC(op_4800_0), 0, 18432 }, /* NBCD.B Dn */ +{ CPUFUNC_FF(op_4808_0), 0, 18440 }, /* LINK.L An,#.L */ +{ CPUFUNC(op_4810_0), 0, 18448 }, /* NBCD.B (An) */ +{ CPUFUNC(op_4818_0), 0, 18456 }, /* NBCD.B (An)+ */ +{ CPUFUNC(op_4820_0), 0, 18464 }, /* NBCD.B -(An) */ +{ CPUFUNC(op_4828_0), 0, 18472 }, /* NBCD.B (d16,An) */ +{ CPUFUNC(op_4830_0), 0, 18480 }, /* NBCD.B (d8,An,Xn) */ +{ CPUFUNC(op_4838_0), 0, 18488 }, /* NBCD.B (xxx).W */ +{ CPUFUNC(op_4839_0), 0, 18489 }, /* NBCD.B (xxx).L */ +{ CPUFUNC(op_4840_0), 0, 18496 }, /* SWAP.W Dn */ +{ CPUFUNC_FF(op_4848_0), 0, 18504 }, /* BKPT.L # */ +{ CPUFUNC_FF(op_4850_0), 0, 18512 }, /* PEA.L (An) */ +{ CPUFUNC_FF(op_4868_0), 0, 18536 }, /* PEA.L (d16,An) */ +{ CPUFUNC_FF(op_4870_0), 0, 18544 }, /* PEA.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4878_0), 0, 18552 }, /* PEA.L (xxx).W */ +{ CPUFUNC_FF(op_4879_0), 0, 18553 }, /* PEA.L (xxx).L */ +{ CPUFUNC_FF(op_487a_0), 0, 18554 }, /* PEA.L (d16,PC) */ +{ CPUFUNC_FF(op_487b_0), 0, 18555 }, /* PEA.L (d8,PC,Xn) */ +{ CPUFUNC(op_4880_0), 0, 18560 }, /* EXT.W Dn */ +{ CPUFUNC_FF(op_4890_0), 0, 18576 }, /* MVMLE.W #.W,(An) */ +{ CPUFUNC_FF(op_48a0_0), 0, 18592 }, /* MVMLE.W #.W,-(An) */ +{ CPUFUNC_FF(op_48a8_0), 0, 18600 }, /* MVMLE.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_48b0_0), 0, 18608 }, /* MVMLE.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48b8_0), 0, 18616 }, /* MVMLE.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_48b9_0), 0, 18617 }, /* MVMLE.W #.W,(xxx).L */ +{ CPUFUNC(op_48c0_0), 0, 18624 }, /* EXT.L Dn */ +{ CPUFUNC_FF(op_48d0_0), 0, 18640 }, /* MVMLE.L #.W,(An) */ +{ CPUFUNC_FF(op_48e0_0), 0, 18656 }, /* MVMLE.L #.W,-(An) */ +{ CPUFUNC_FF(op_48e8_0), 0, 18664 }, /* MVMLE.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_48f0_0), 0, 18672 }, /* MVMLE.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48f8_0), 0, 18680 }, /* MVMLE.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_48f9_0), 0, 18681 }, /* MVMLE.L #.W,(xxx).L */ +{ CPUFUNC(op_49c0_0), 0, 18880 }, /* EXT.B Dn */ +{ CPUFUNC(op_4a00_0), 0, 18944 }, /* TST.B Dn */ +{ CPUFUNC(op_4a10_0), 0, 18960 }, /* TST.B (An) */ +{ CPUFUNC(op_4a18_0), 0, 18968 }, /* TST.B (An)+ */ +{ CPUFUNC(op_4a20_0), 0, 18976 }, /* TST.B -(An) */ +{ CPUFUNC(op_4a28_0), 0, 18984 }, /* TST.B (d16,An) */ +{ CPUFUNC(op_4a30_0), 0, 18992 }, /* TST.B (d8,An,Xn) */ +{ CPUFUNC(op_4a38_0), 0, 19000 }, /* TST.B (xxx).W */ +{ CPUFUNC(op_4a39_0), 0, 19001 }, /* TST.B (xxx).L */ +{ CPUFUNC(op_4a3a_0), 0, 19002 }, /* TST.B (d16,PC) */ +{ CPUFUNC(op_4a3b_0), 0, 19003 }, /* TST.B (d8,PC,Xn) */ +{ CPUFUNC(op_4a3c_0), 0, 19004 }, /* TST.B #.B */ +{ CPUFUNC(op_4a40_0), 0, 19008 }, /* TST.W Dn */ +{ CPUFUNC(op_4a48_0), 0, 19016 }, /* TST.W An */ +{ CPUFUNC(op_4a50_0), 0, 19024 }, /* TST.W (An) */ +{ CPUFUNC(op_4a58_0), 0, 19032 }, /* TST.W (An)+ */ +{ CPUFUNC(op_4a60_0), 0, 19040 }, /* TST.W -(An) */ +{ CPUFUNC(op_4a68_0), 0, 19048 }, /* TST.W (d16,An) */ +{ CPUFUNC(op_4a70_0), 0, 19056 }, /* TST.W (d8,An,Xn) */ +{ CPUFUNC(op_4a78_0), 0, 19064 }, /* TST.W (xxx).W */ +{ CPUFUNC(op_4a79_0), 0, 19065 }, /* TST.W (xxx).L */ +{ CPUFUNC(op_4a7a_0), 0, 19066 }, /* TST.W (d16,PC) */ +{ CPUFUNC(op_4a7b_0), 0, 19067 }, /* TST.W (d8,PC,Xn) */ +{ CPUFUNC(op_4a7c_0), 0, 19068 }, /* TST.W #.W */ +{ CPUFUNC(op_4a80_0), 0, 19072 }, /* TST.L Dn */ +{ CPUFUNC(op_4a88_0), 0, 19080 }, /* TST.L An */ +{ CPUFUNC(op_4a90_0), 0, 19088 }, /* TST.L (An) */ +{ CPUFUNC(op_4a98_0), 0, 19096 }, /* TST.L (An)+ */ +{ CPUFUNC(op_4aa0_0), 0, 19104 }, /* TST.L -(An) */ +{ CPUFUNC(op_4aa8_0), 0, 19112 }, /* TST.L (d16,An) */ +{ CPUFUNC(op_4ab0_0), 0, 19120 }, /* TST.L (d8,An,Xn) */ +{ CPUFUNC(op_4ab8_0), 0, 19128 }, /* TST.L (xxx).W */ +{ CPUFUNC(op_4ab9_0), 0, 19129 }, /* TST.L (xxx).L */ +{ CPUFUNC(op_4aba_0), 0, 19130 }, /* TST.L (d16,PC) */ +{ CPUFUNC(op_4abb_0), 0, 19131 }, /* TST.L (d8,PC,Xn) */ +{ CPUFUNC(op_4abc_0), 0, 19132 }, /* TST.L #.L */ +{ CPUFUNC(op_4ac0_0), 0, 19136 }, /* TAS.B Dn */ +{ CPUFUNC(op_4ad0_0), 0, 19152 }, /* TAS.B (An) */ +{ CPUFUNC(op_4ad8_0), 0, 19160 }, /* TAS.B (An)+ */ +{ CPUFUNC(op_4ae0_0), 0, 19168 }, /* TAS.B -(An) */ +{ CPUFUNC(op_4ae8_0), 0, 19176 }, /* TAS.B (d16,An) */ +{ CPUFUNC(op_4af0_0), 0, 19184 }, /* TAS.B (d8,An,Xn) */ +{ CPUFUNC(op_4af8_0), 0, 19192 }, /* TAS.B (xxx).W */ +{ CPUFUNC(op_4af9_0), 0, 19193 }, /* TAS.B (xxx).L */ +{ CPUFUNC(op_4c00_0), 0, 19456 }, /* MULL.L #.W,Dn */ +{ CPUFUNC(op_4c10_0), 0, 19472 }, /* MULL.L #.W,(An) */ +{ CPUFUNC(op_4c18_0), 0, 19480 }, /* MULL.L #.W,(An)+ */ +{ CPUFUNC(op_4c20_0), 0, 19488 }, /* MULL.L #.W,-(An) */ +{ CPUFUNC(op_4c28_0), 0, 19496 }, /* MULL.L #.W,(d16,An) */ +{ CPUFUNC(op_4c30_0), 0, 19504 }, /* MULL.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4c38_0), 0, 19512 }, /* MULL.L #.W,(xxx).W */ +{ CPUFUNC(op_4c39_0), 0, 19513 }, /* MULL.L #.W,(xxx).L */ +{ CPUFUNC(op_4c3a_0), 0, 19514 }, /* MULL.L #.W,(d16,PC) */ +{ CPUFUNC(op_4c3b_0), 0, 19515 }, /* MULL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_4c3c_0), 0, 19516 }, /* MULL.L #.W,#.L */ +{ CPUFUNC(op_4c40_0), 0, 19520 }, /* DIVL.L #.W,Dn */ +{ CPUFUNC(op_4c50_0), 0, 19536 }, /* DIVL.L #.W,(An) */ +{ CPUFUNC(op_4c58_0), 0, 19544 }, /* DIVL.L #.W,(An)+ */ +{ CPUFUNC(op_4c60_0), 0, 19552 }, /* DIVL.L #.W,-(An) */ +{ CPUFUNC(op_4c68_0), 0, 19560 }, /* DIVL.L #.W,(d16,An) */ +{ CPUFUNC(op_4c70_0), 0, 19568 }, /* DIVL.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4c78_0), 0, 19576 }, /* DIVL.L #.W,(xxx).W */ +{ CPUFUNC(op_4c79_0), 0, 19577 }, /* DIVL.L #.W,(xxx).L */ +{ CPUFUNC(op_4c7a_0), 0, 19578 }, /* DIVL.L #.W,(d16,PC) */ +{ CPUFUNC(op_4c7b_0), 0, 19579 }, /* DIVL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_4c7c_0), 0, 19580 }, /* DIVL.L #.W,#.L */ +{ CPUFUNC_FF(op_4c90_0), 0, 19600 }, /* MVMEL.W #.W,(An) */ +{ CPUFUNC_FF(op_4c98_0), 0, 19608 }, /* MVMEL.W #.W,(An)+ */ +{ CPUFUNC_FF(op_4ca8_0), 0, 19624 }, /* MVMEL.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cb0_0), 0, 19632 }, /* MVMEL.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cb8_0), 0, 19640 }, /* MVMEL.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cb9_0), 0, 19641 }, /* MVMEL.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cba_0), 0, 19642 }, /* MVMEL.W #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cbb_0), 0, 19643 }, /* MVMEL.W #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4cd0_0), 0, 19664 }, /* MVMEL.L #.W,(An) */ +{ CPUFUNC_FF(op_4cd8_0), 0, 19672 }, /* MVMEL.L #.W,(An)+ */ +{ CPUFUNC_FF(op_4ce8_0), 0, 19688 }, /* MVMEL.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cf0_0), 0, 19696 }, /* MVMEL.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cf8_0), 0, 19704 }, /* MVMEL.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cf9_0), 0, 19705 }, /* MVMEL.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cfa_0), 0, 19706 }, /* MVMEL.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cfb_0), 0, 19707 }, /* MVMEL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4e40_0), 0, 20032 }, /* TRAP.L # */ +{ CPUFUNC_FF(op_4e50_0), 0, 20048 }, /* LINK.W An,#.W */ +{ CPUFUNC_FF(op_4e58_0), 0, 20056 }, /* UNLK.L An */ +{ CPUFUNC_FF(op_4e60_0), 0, 20064 }, /* MVR2USP.L An */ +{ CPUFUNC_FF(op_4e68_0), 0, 20072 }, /* MVUSP2R.L An */ +{ CPUFUNC_FF(op_4e70_0), 0, 20080 }, /* RESET.L */ +{ CPUFUNC_FF(op_4e71_0), 0, 20081 }, /* NOP.L */ +{ CPUFUNC(op_4e72_0), 0, 20082 }, /* STOP.L #.W */ +{ CPUFUNC(op_4e73_0), 0, 20083 }, /* RTE.L */ +{ CPUFUNC_FF(op_4e74_0), 0, 20084 }, /* RTD.L #.W */ +{ CPUFUNC_FF(op_4e75_0), 0, 20085 }, /* RTS.L */ +{ CPUFUNC_FF(op_4e76_0), 0, 20086 }, /* TRAPV.L */ +{ CPUFUNC(op_4e77_0), 0, 20087 }, /* RTR.L */ +{ CPUFUNC_FF(op_4e7a_0), 0, 20090 }, /* MOVEC2.L #.W */ +{ CPUFUNC_FF(op_4e7b_0), 0, 20091 }, /* MOVE2C.L #.W */ +{ CPUFUNC_FF(op_4e90_0), 0, 20112 }, /* JSR.L (An) */ +{ CPUFUNC_FF(op_4ea8_0), 0, 20136 }, /* JSR.L (d16,An) */ +{ CPUFUNC_FF(op_4eb0_0), 0, 20144 }, /* JSR.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4eb8_0), 0, 20152 }, /* JSR.L (xxx).W */ +{ CPUFUNC_FF(op_4eb9_0), 0, 20153 }, /* JSR.L (xxx).L */ +{ CPUFUNC_FF(op_4eba_0), 0, 20154 }, /* JSR.L (d16,PC) */ +{ CPUFUNC_FF(op_4ebb_0), 0, 20155 }, /* JSR.L (d8,PC,Xn) */ +{ CPUFUNC_FF(op_4ed0_0), 0, 20176 }, /* JMP.L (An) */ +{ CPUFUNC_FF(op_4ee8_0), 0, 20200 }, /* JMP.L (d16,An) */ +{ CPUFUNC_FF(op_4ef0_0), 0, 20208 }, /* JMP.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4ef8_0), 0, 20216 }, /* JMP.L (xxx).W */ +{ CPUFUNC_FF(op_4ef9_0), 0, 20217 }, /* JMP.L (xxx).L */ +{ CPUFUNC_FF(op_4efa_0), 0, 20218 }, /* JMP.L (d16,PC) */ +{ CPUFUNC_FF(op_4efb_0), 0, 20219 }, /* JMP.L (d8,PC,Xn) */ +{ CPUFUNC(op_5000_0), 0, 20480 }, /* ADD.B #,Dn */ +{ CPUFUNC(op_5010_0), 0, 20496 }, /* ADD.B #,(An) */ +{ CPUFUNC(op_5018_0), 0, 20504 }, /* ADD.B #,(An)+ */ +{ CPUFUNC(op_5020_0), 0, 20512 }, /* ADD.B #,-(An) */ +{ CPUFUNC(op_5028_0), 0, 20520 }, /* ADD.B #,(d16,An) */ +{ CPUFUNC(op_5030_0), 0, 20528 }, /* ADD.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5038_0), 0, 20536 }, /* ADD.B #,(xxx).W */ +{ CPUFUNC(op_5039_0), 0, 20537 }, /* ADD.B #,(xxx).L */ +{ CPUFUNC(op_5040_0), 0, 20544 }, /* ADD.W #,Dn */ +{ CPUFUNC_FF(op_5048_0), 0, 20552 }, /* ADDA.W #,An */ +{ CPUFUNC(op_5050_0), 0, 20560 }, /* ADD.W #,(An) */ +{ CPUFUNC(op_5058_0), 0, 20568 }, /* ADD.W #,(An)+ */ +{ CPUFUNC(op_5060_0), 0, 20576 }, /* ADD.W #,-(An) */ +{ CPUFUNC(op_5068_0), 0, 20584 }, /* ADD.W #,(d16,An) */ +{ CPUFUNC(op_5070_0), 0, 20592 }, /* ADD.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5078_0), 0, 20600 }, /* ADD.W #,(xxx).W */ +{ CPUFUNC(op_5079_0), 0, 20601 }, /* ADD.W #,(xxx).L */ +{ CPUFUNC(op_5080_0), 0, 20608 }, /* ADD.L #,Dn */ +{ CPUFUNC_FF(op_5088_0), 0, 20616 }, /* ADDA.L #,An */ +{ CPUFUNC(op_5090_0), 0, 20624 }, /* ADD.L #,(An) */ +{ CPUFUNC(op_5098_0), 0, 20632 }, /* ADD.L #,(An)+ */ +{ CPUFUNC(op_50a0_0), 0, 20640 }, /* ADD.L #,-(An) */ +{ CPUFUNC(op_50a8_0), 0, 20648 }, /* ADD.L #,(d16,An) */ +{ CPUFUNC(op_50b0_0), 0, 20656 }, /* ADD.L #,(d8,An,Xn) */ +{ CPUFUNC(op_50b8_0), 0, 20664 }, /* ADD.L #,(xxx).W */ +{ CPUFUNC(op_50b9_0), 0, 20665 }, /* ADD.L #,(xxx).L */ +{ CPUFUNC_FF(op_50c0_0), 0, 20672 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_50c8_0), 0, 20680 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_50d0_0), 0, 20688 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_50d8_0), 0, 20696 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_50e0_0), 0, 20704 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_50e8_0), 0, 20712 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_50f0_0), 0, 20720 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_50f8_0), 0, 20728 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_50f9_0), 0, 20729 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_50fa_0), 0, 20730 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_50fb_0), 0, 20731 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_50fc_0), 0, 20732 }, /* TRAPcc.L */ +{ CPUFUNC(op_5100_0), 0, 20736 }, /* SUB.B #,Dn */ +{ CPUFUNC(op_5110_0), 0, 20752 }, /* SUB.B #,(An) */ +{ CPUFUNC(op_5118_0), 0, 20760 }, /* SUB.B #,(An)+ */ +{ CPUFUNC(op_5120_0), 0, 20768 }, /* SUB.B #,-(An) */ +{ CPUFUNC(op_5128_0), 0, 20776 }, /* SUB.B #,(d16,An) */ +{ CPUFUNC(op_5130_0), 0, 20784 }, /* SUB.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5138_0), 0, 20792 }, /* SUB.B #,(xxx).W */ +{ CPUFUNC(op_5139_0), 0, 20793 }, /* SUB.B #,(xxx).L */ +{ CPUFUNC(op_5140_0), 0, 20800 }, /* SUB.W #,Dn */ +{ CPUFUNC_FF(op_5148_0), 0, 20808 }, /* SUBA.W #,An */ +{ CPUFUNC(op_5150_0), 0, 20816 }, /* SUB.W #,(An) */ +{ CPUFUNC(op_5158_0), 0, 20824 }, /* SUB.W #,(An)+ */ +{ CPUFUNC(op_5160_0), 0, 20832 }, /* SUB.W #,-(An) */ +{ CPUFUNC(op_5168_0), 0, 20840 }, /* SUB.W #,(d16,An) */ +{ CPUFUNC(op_5170_0), 0, 20848 }, /* SUB.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5178_0), 0, 20856 }, /* SUB.W #,(xxx).W */ +{ CPUFUNC(op_5179_0), 0, 20857 }, /* SUB.W #,(xxx).L */ +{ CPUFUNC(op_5180_0), 0, 20864 }, /* SUB.L #,Dn */ +{ CPUFUNC_FF(op_5188_0), 0, 20872 }, /* SUBA.L #,An */ +{ CPUFUNC(op_5190_0), 0, 20880 }, /* SUB.L #,(An) */ +{ CPUFUNC(op_5198_0), 0, 20888 }, /* SUB.L #,(An)+ */ +{ CPUFUNC(op_51a0_0), 0, 20896 }, /* SUB.L #,-(An) */ +{ CPUFUNC(op_51a8_0), 0, 20904 }, /* SUB.L #,(d16,An) */ +{ CPUFUNC(op_51b0_0), 0, 20912 }, /* SUB.L #,(d8,An,Xn) */ +{ CPUFUNC(op_51b8_0), 0, 20920 }, /* SUB.L #,(xxx).W */ +{ CPUFUNC(op_51b9_0), 0, 20921 }, /* SUB.L #,(xxx).L */ +{ CPUFUNC_FF(op_51c0_0), 0, 20928 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_51c8_0), 0, 20936 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_51d0_0), 0, 20944 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_51d8_0), 0, 20952 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_51e0_0), 0, 20960 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_51e8_0), 0, 20968 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_51f0_0), 0, 20976 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_51f8_0), 0, 20984 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_51f9_0), 0, 20985 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_51fa_0), 0, 20986 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_51fb_0), 0, 20987 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_51fc_0), 0, 20988 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_52c0_0), 0, 21184 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_52c8_0), 0, 21192 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_52d0_0), 0, 21200 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_52d8_0), 0, 21208 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_52e0_0), 0, 21216 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_52e8_0), 0, 21224 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_52f0_0), 0, 21232 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_52f8_0), 0, 21240 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_52f9_0), 0, 21241 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_52fa_0), 0, 21242 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_52fb_0), 0, 21243 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_52fc_0), 0, 21244 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_53c0_0), 0, 21440 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_53c8_0), 0, 21448 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_53d0_0), 0, 21456 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_53d8_0), 0, 21464 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_53e0_0), 0, 21472 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_53e8_0), 0, 21480 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_53f0_0), 0, 21488 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_53f8_0), 0, 21496 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_53f9_0), 0, 21497 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_53fa_0), 0, 21498 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_53fb_0), 0, 21499 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_53fc_0), 0, 21500 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_54c0_0), 0, 21696 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_54c8_0), 0, 21704 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_54d0_0), 0, 21712 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_54d8_0), 0, 21720 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_54e0_0), 0, 21728 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_54e8_0), 0, 21736 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_54f0_0), 0, 21744 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_54f8_0), 0, 21752 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_54f9_0), 0, 21753 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_54fa_0), 0, 21754 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_54fb_0), 0, 21755 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_54fc_0), 0, 21756 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_55c0_0), 0, 21952 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_55c8_0), 0, 21960 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_55d0_0), 0, 21968 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_55d8_0), 0, 21976 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_55e0_0), 0, 21984 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_55e8_0), 0, 21992 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_55f0_0), 0, 22000 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_55f8_0), 0, 22008 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_55f9_0), 0, 22009 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_55fa_0), 0, 22010 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_55fb_0), 0, 22011 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_55fc_0), 0, 22012 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_56c0_0), 0, 22208 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_56c8_0), 0, 22216 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_56d0_0), 0, 22224 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_56d8_0), 0, 22232 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_56e0_0), 0, 22240 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_56e8_0), 0, 22248 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_56f0_0), 0, 22256 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_56f8_0), 0, 22264 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_56f9_0), 0, 22265 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_56fa_0), 0, 22266 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_56fb_0), 0, 22267 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_56fc_0), 0, 22268 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_57c0_0), 0, 22464 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_57c8_0), 0, 22472 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_57d0_0), 0, 22480 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_57d8_0), 0, 22488 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_57e0_0), 0, 22496 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_57e8_0), 0, 22504 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_57f0_0), 0, 22512 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_57f8_0), 0, 22520 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_57f9_0), 0, 22521 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_57fa_0), 0, 22522 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_57fb_0), 0, 22523 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_57fc_0), 0, 22524 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_58c0_0), 0, 22720 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_58c8_0), 0, 22728 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_58d0_0), 0, 22736 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_58d8_0), 0, 22744 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_58e0_0), 0, 22752 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_58e8_0), 0, 22760 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_58f0_0), 0, 22768 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_58f8_0), 0, 22776 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_58f9_0), 0, 22777 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_58fa_0), 0, 22778 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_58fb_0), 0, 22779 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_58fc_0), 0, 22780 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_59c0_0), 0, 22976 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_59c8_0), 0, 22984 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_59d0_0), 0, 22992 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_59d8_0), 0, 23000 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_59e0_0), 0, 23008 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_59e8_0), 0, 23016 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_59f0_0), 0, 23024 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_59f8_0), 0, 23032 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_59f9_0), 0, 23033 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_59fa_0), 0, 23034 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_59fb_0), 0, 23035 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_59fc_0), 0, 23036 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5ac0_0), 0, 23232 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ac8_0), 0, 23240 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ad0_0), 0, 23248 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ad8_0), 0, 23256 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ae0_0), 0, 23264 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ae8_0), 0, 23272 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5af0_0), 0, 23280 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5af8_0), 0, 23288 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5af9_0), 0, 23289 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5afa_0), 0, 23290 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5afb_0), 0, 23291 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5afc_0), 0, 23292 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5bc0_0), 0, 23488 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5bc8_0), 0, 23496 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5bd0_0), 0, 23504 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5bd8_0), 0, 23512 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5be0_0), 0, 23520 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5be8_0), 0, 23528 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5bf0_0), 0, 23536 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5bf8_0), 0, 23544 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5bf9_0), 0, 23545 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5bfa_0), 0, 23546 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5bfb_0), 0, 23547 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5bfc_0), 0, 23548 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5cc0_0), 0, 23744 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5cc8_0), 0, 23752 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5cd0_0), 0, 23760 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5cd8_0), 0, 23768 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ce0_0), 0, 23776 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ce8_0), 0, 23784 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5cf0_0), 0, 23792 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5cf8_0), 0, 23800 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5cf9_0), 0, 23801 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5cfa_0), 0, 23802 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5cfb_0), 0, 23803 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5cfc_0), 0, 23804 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5dc0_0), 0, 24000 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5dc8_0), 0, 24008 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5dd0_0), 0, 24016 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5dd8_0), 0, 24024 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5de0_0), 0, 24032 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5de8_0), 0, 24040 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5df0_0), 0, 24048 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5df8_0), 0, 24056 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5df9_0), 0, 24057 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5dfa_0), 0, 24058 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5dfb_0), 0, 24059 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5dfc_0), 0, 24060 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5ec0_0), 0, 24256 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ec8_0), 0, 24264 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ed0_0), 0, 24272 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ed8_0), 0, 24280 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ee0_0), 0, 24288 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ee8_0), 0, 24296 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ef0_0), 0, 24304 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ef8_0), 0, 24312 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ef9_0), 0, 24313 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5efa_0), 0, 24314 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5efb_0), 0, 24315 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5efc_0), 0, 24316 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5fc0_0), 0, 24512 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5fc8_0), 0, 24520 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5fd0_0), 0, 24528 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5fd8_0), 0, 24536 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5fe0_0), 0, 24544 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5fe8_0), 0, 24552 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ff0_0), 0, 24560 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ff8_0), 0, 24568 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ff9_0), 0, 24569 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ffa_0), 0, 24570 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5ffb_0), 0, 24571 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5ffc_0), 0, 24572 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_6000_0), 0, 24576 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6001_0), 0, 24577 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_60ff_0), 0, 24831 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6100_0), 0, 24832 }, /* BSR.W #.W */ +{ CPUFUNC_FF(op_6101_0), 0, 24833 }, /* BSR.B # */ +{ CPUFUNC_FF(op_61ff_0), 0, 25087 }, /* BSR.L #.L */ +{ CPUFUNC_FF(op_6200_0), 0, 25088 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6201_0), 0, 25089 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_62ff_0), 0, 25343 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6300_0), 0, 25344 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6301_0), 0, 25345 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_63ff_0), 0, 25599 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6400_0), 0, 25600 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6401_0), 0, 25601 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_64ff_0), 0, 25855 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6500_0), 0, 25856 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6501_0), 0, 25857 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_65ff_0), 0, 26111 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6600_0), 0, 26112 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6601_0), 0, 26113 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_66ff_0), 0, 26367 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6700_0), 0, 26368 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6701_0), 0, 26369 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_67ff_0), 0, 26623 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6800_0), 0, 26624 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6801_0), 0, 26625 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_68ff_0), 0, 26879 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6900_0), 0, 26880 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6901_0), 0, 26881 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_69ff_0), 0, 27135 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6a00_0), 0, 27136 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6a01_0), 0, 27137 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6aff_0), 0, 27391 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6b00_0), 0, 27392 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6b01_0), 0, 27393 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6bff_0), 0, 27647 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6c00_0), 0, 27648 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6c01_0), 0, 27649 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6cff_0), 0, 27903 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6d00_0), 0, 27904 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6d01_0), 0, 27905 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6dff_0), 0, 28159 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6e00_0), 0, 28160 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6e01_0), 0, 28161 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6eff_0), 0, 28415 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6f00_0), 0, 28416 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6f01_0), 0, 28417 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6fff_0), 0, 28671 }, /* Bcc.L #.L */ +{ CPUFUNC(op_7000_0), 0, 28672 }, /* MOVE.L #,Dn */ +{ CPUFUNC_FF(op_7100_0), 0, 28928 }, /* EMULOP_RETURN.L */ +{ CPUFUNC_FF(op_7101_0), 0, 28929 }, /* EMULOP.L # */ +{ CPUFUNC(op_8000_0), 0, 32768 }, /* OR.B Dn,Dn */ +{ CPUFUNC(op_8010_0), 0, 32784 }, /* OR.B (An),Dn */ +{ CPUFUNC(op_8018_0), 0, 32792 }, /* OR.B (An)+,Dn */ +{ CPUFUNC(op_8020_0), 0, 32800 }, /* OR.B -(An),Dn */ +{ CPUFUNC(op_8028_0), 0, 32808 }, /* OR.B (d16,An),Dn */ +{ CPUFUNC(op_8030_0), 0, 32816 }, /* OR.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_8038_0), 0, 32824 }, /* OR.B (xxx).W,Dn */ +{ CPUFUNC(op_8039_0), 0, 32825 }, /* OR.B (xxx).L,Dn */ +{ CPUFUNC(op_803a_0), 0, 32826 }, /* OR.B (d16,PC),Dn */ +{ CPUFUNC(op_803b_0), 0, 32827 }, /* OR.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_803c_0), 0, 32828 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_8040_0), 0, 32832 }, /* OR.W Dn,Dn */ +{ CPUFUNC(op_8050_0), 0, 32848 }, /* OR.W (An),Dn */ +{ CPUFUNC(op_8058_0), 0, 32856 }, /* OR.W (An)+,Dn */ +{ CPUFUNC(op_8060_0), 0, 32864 }, /* OR.W -(An),Dn */ +{ CPUFUNC(op_8068_0), 0, 32872 }, /* OR.W (d16,An),Dn */ +{ CPUFUNC(op_8070_0), 0, 32880 }, /* OR.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_8078_0), 0, 32888 }, /* OR.W (xxx).W,Dn */ +{ CPUFUNC(op_8079_0), 0, 32889 }, /* OR.W (xxx).L,Dn */ +{ CPUFUNC(op_807a_0), 0, 32890 }, /* OR.W (d16,PC),Dn */ +{ CPUFUNC(op_807b_0), 0, 32891 }, /* OR.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_807c_0), 0, 32892 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_8080_0), 0, 32896 }, /* OR.L Dn,Dn */ +{ CPUFUNC(op_8090_0), 0, 32912 }, /* OR.L (An),Dn */ +{ CPUFUNC(op_8098_0), 0, 32920 }, /* OR.L (An)+,Dn */ +{ CPUFUNC(op_80a0_0), 0, 32928 }, /* OR.L -(An),Dn */ +{ CPUFUNC(op_80a8_0), 0, 32936 }, /* OR.L (d16,An),Dn */ +{ CPUFUNC(op_80b0_0), 0, 32944 }, /* OR.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_80b8_0), 0, 32952 }, /* OR.L (xxx).W,Dn */ +{ CPUFUNC(op_80b9_0), 0, 32953 }, /* OR.L (xxx).L,Dn */ +{ CPUFUNC(op_80ba_0), 0, 32954 }, /* OR.L (d16,PC),Dn */ +{ CPUFUNC(op_80bb_0), 0, 32955 }, /* OR.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80bc_0), 0, 32956 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_80c0_0), 0, 32960 }, /* DIVU.W Dn,Dn */ +{ CPUFUNC(op_80d0_0), 0, 32976 }, /* DIVU.W (An),Dn */ +{ CPUFUNC(op_80d8_0), 0, 32984 }, /* DIVU.W (An)+,Dn */ +{ CPUFUNC(op_80e0_0), 0, 32992 }, /* DIVU.W -(An),Dn */ +{ CPUFUNC(op_80e8_0), 0, 33000 }, /* DIVU.W (d16,An),Dn */ +{ CPUFUNC(op_80f0_0), 0, 33008 }, /* DIVU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_80f8_0), 0, 33016 }, /* DIVU.W (xxx).W,Dn */ +{ CPUFUNC(op_80f9_0), 0, 33017 }, /* DIVU.W (xxx).L,Dn */ +{ CPUFUNC(op_80fa_0), 0, 33018 }, /* DIVU.W (d16,PC),Dn */ +{ CPUFUNC(op_80fb_0), 0, 33019 }, /* DIVU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80fc_0), 0, 33020 }, /* DIVU.W #.W,Dn */ +{ CPUFUNC(op_8100_0), 0, 33024 }, /* SBCD.B Dn,Dn */ +{ CPUFUNC(op_8108_0), 0, 33032 }, /* SBCD.B -(An),-(An) */ +{ CPUFUNC(op_8110_0), 0, 33040 }, /* OR.B Dn,(An) */ +{ CPUFUNC(op_8118_0), 0, 33048 }, /* OR.B Dn,(An)+ */ +{ CPUFUNC(op_8120_0), 0, 33056 }, /* OR.B Dn,-(An) */ +{ CPUFUNC(op_8128_0), 0, 33064 }, /* OR.B Dn,(d16,An) */ +{ CPUFUNC(op_8130_0), 0, 33072 }, /* OR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8138_0), 0, 33080 }, /* OR.B Dn,(xxx).W */ +{ CPUFUNC(op_8139_0), 0, 33081 }, /* OR.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_8140_0), 0, 33088 }, /* PACK.L Dn,Dn */ +{ CPUFUNC_FF(op_8148_0), 0, 33096 }, /* PACK.L -(An),-(An) */ +{ CPUFUNC(op_8150_0), 0, 33104 }, /* OR.W Dn,(An) */ +{ CPUFUNC(op_8158_0), 0, 33112 }, /* OR.W Dn,(An)+ */ +{ CPUFUNC(op_8160_0), 0, 33120 }, /* OR.W Dn,-(An) */ +{ CPUFUNC(op_8168_0), 0, 33128 }, /* OR.W Dn,(d16,An) */ +{ CPUFUNC(op_8170_0), 0, 33136 }, /* OR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8178_0), 0, 33144 }, /* OR.W Dn,(xxx).W */ +{ CPUFUNC(op_8179_0), 0, 33145 }, /* OR.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_8180_0), 0, 33152 }, /* UNPK.L Dn,Dn */ +{ CPUFUNC_FF(op_8188_0), 0, 33160 }, /* UNPK.L -(An),-(An) */ +{ CPUFUNC(op_8190_0), 0, 33168 }, /* OR.L Dn,(An) */ +{ CPUFUNC(op_8198_0), 0, 33176 }, /* OR.L Dn,(An)+ */ +{ CPUFUNC(op_81a0_0), 0, 33184 }, /* OR.L Dn,-(An) */ +{ CPUFUNC(op_81a8_0), 0, 33192 }, /* OR.L Dn,(d16,An) */ +{ CPUFUNC(op_81b0_0), 0, 33200 }, /* OR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_81b8_0), 0, 33208 }, /* OR.L Dn,(xxx).W */ +{ CPUFUNC(op_81b9_0), 0, 33209 }, /* OR.L Dn,(xxx).L */ +{ CPUFUNC(op_81c0_0), 0, 33216 }, /* DIVS.W Dn,Dn */ +{ CPUFUNC(op_81d0_0), 0, 33232 }, /* DIVS.W (An),Dn */ +{ CPUFUNC(op_81d8_0), 0, 33240 }, /* DIVS.W (An)+,Dn */ +{ CPUFUNC(op_81e0_0), 0, 33248 }, /* DIVS.W -(An),Dn */ +{ CPUFUNC(op_81e8_0), 0, 33256 }, /* DIVS.W (d16,An),Dn */ +{ CPUFUNC(op_81f0_0), 0, 33264 }, /* DIVS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_81f8_0), 0, 33272 }, /* DIVS.W (xxx).W,Dn */ +{ CPUFUNC(op_81f9_0), 0, 33273 }, /* DIVS.W (xxx).L,Dn */ +{ CPUFUNC(op_81fa_0), 0, 33274 }, /* DIVS.W (d16,PC),Dn */ +{ CPUFUNC(op_81fb_0), 0, 33275 }, /* DIVS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_81fc_0), 0, 33276 }, /* DIVS.W #.W,Dn */ +{ CPUFUNC(op_9000_0), 0, 36864 }, /* SUB.B Dn,Dn */ +{ CPUFUNC(op_9010_0), 0, 36880 }, /* SUB.B (An),Dn */ +{ CPUFUNC(op_9018_0), 0, 36888 }, /* SUB.B (An)+,Dn */ +{ CPUFUNC(op_9020_0), 0, 36896 }, /* SUB.B -(An),Dn */ +{ CPUFUNC(op_9028_0), 0, 36904 }, /* SUB.B (d16,An),Dn */ +{ CPUFUNC(op_9030_0), 0, 36912 }, /* SUB.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_9038_0), 0, 36920 }, /* SUB.B (xxx).W,Dn */ +{ CPUFUNC(op_9039_0), 0, 36921 }, /* SUB.B (xxx).L,Dn */ +{ CPUFUNC(op_903a_0), 0, 36922 }, /* SUB.B (d16,PC),Dn */ +{ CPUFUNC(op_903b_0), 0, 36923 }, /* SUB.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_903c_0), 0, 36924 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_9040_0), 0, 36928 }, /* SUB.W Dn,Dn */ +{ CPUFUNC(op_9048_0), 0, 36936 }, /* SUB.W An,Dn */ +{ CPUFUNC(op_9050_0), 0, 36944 }, /* SUB.W (An),Dn */ +{ CPUFUNC(op_9058_0), 0, 36952 }, /* SUB.W (An)+,Dn */ +{ CPUFUNC(op_9060_0), 0, 36960 }, /* SUB.W -(An),Dn */ +{ CPUFUNC(op_9068_0), 0, 36968 }, /* SUB.W (d16,An),Dn */ +{ CPUFUNC(op_9070_0), 0, 36976 }, /* SUB.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_9078_0), 0, 36984 }, /* SUB.W (xxx).W,Dn */ +{ CPUFUNC(op_9079_0), 0, 36985 }, /* SUB.W (xxx).L,Dn */ +{ CPUFUNC(op_907a_0), 0, 36986 }, /* SUB.W (d16,PC),Dn */ +{ CPUFUNC(op_907b_0), 0, 36987 }, /* SUB.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_907c_0), 0, 36988 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_9080_0), 0, 36992 }, /* SUB.L Dn,Dn */ +{ CPUFUNC(op_9088_0), 0, 37000 }, /* SUB.L An,Dn */ +{ CPUFUNC(op_9090_0), 0, 37008 }, /* SUB.L (An),Dn */ +{ CPUFUNC(op_9098_0), 0, 37016 }, /* SUB.L (An)+,Dn */ +{ CPUFUNC(op_90a0_0), 0, 37024 }, /* SUB.L -(An),Dn */ +{ CPUFUNC(op_90a8_0), 0, 37032 }, /* SUB.L (d16,An),Dn */ +{ CPUFUNC(op_90b0_0), 0, 37040 }, /* SUB.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_90b8_0), 0, 37048 }, /* SUB.L (xxx).W,Dn */ +{ CPUFUNC(op_90b9_0), 0, 37049 }, /* SUB.L (xxx).L,Dn */ +{ CPUFUNC(op_90ba_0), 0, 37050 }, /* SUB.L (d16,PC),Dn */ +{ CPUFUNC(op_90bb_0), 0, 37051 }, /* SUB.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_90bc_0), 0, 37052 }, /* SUB.L #.L,Dn */ +{ CPUFUNC_FF(op_90c0_0), 0, 37056 }, /* SUBA.W Dn,An */ +{ CPUFUNC_FF(op_90c8_0), 0, 37064 }, /* SUBA.W An,An */ +{ CPUFUNC_FF(op_90d0_0), 0, 37072 }, /* SUBA.W (An),An */ +{ CPUFUNC_FF(op_90d8_0), 0, 37080 }, /* SUBA.W (An)+,An */ +{ CPUFUNC_FF(op_90e0_0), 0, 37088 }, /* SUBA.W -(An),An */ +{ CPUFUNC_FF(op_90e8_0), 0, 37096 }, /* SUBA.W (d16,An),An */ +{ CPUFUNC_FF(op_90f0_0), 0, 37104 }, /* SUBA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_90f8_0), 0, 37112 }, /* SUBA.W (xxx).W,An */ +{ CPUFUNC_FF(op_90f9_0), 0, 37113 }, /* SUBA.W (xxx).L,An */ +{ CPUFUNC_FF(op_90fa_0), 0, 37114 }, /* SUBA.W (d16,PC),An */ +{ CPUFUNC_FF(op_90fb_0), 0, 37115 }, /* SUBA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_90fc_0), 0, 37116 }, /* SUBA.W #.W,An */ +{ CPUFUNC(op_9100_0), 0, 37120 }, /* SUBX.B Dn,Dn */ +{ CPUFUNC(op_9108_0), 0, 37128 }, /* SUBX.B -(An),-(An) */ +{ CPUFUNC(op_9110_0), 0, 37136 }, /* SUB.B Dn,(An) */ +{ CPUFUNC(op_9118_0), 0, 37144 }, /* SUB.B Dn,(An)+ */ +{ CPUFUNC(op_9120_0), 0, 37152 }, /* SUB.B Dn,-(An) */ +{ CPUFUNC(op_9128_0), 0, 37160 }, /* SUB.B Dn,(d16,An) */ +{ CPUFUNC(op_9130_0), 0, 37168 }, /* SUB.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9138_0), 0, 37176 }, /* SUB.B Dn,(xxx).W */ +{ CPUFUNC(op_9139_0), 0, 37177 }, /* SUB.B Dn,(xxx).L */ +{ CPUFUNC(op_9140_0), 0, 37184 }, /* SUBX.W Dn,Dn */ +{ CPUFUNC(op_9148_0), 0, 37192 }, /* SUBX.W -(An),-(An) */ +{ CPUFUNC(op_9150_0), 0, 37200 }, /* SUB.W Dn,(An) */ +{ CPUFUNC(op_9158_0), 0, 37208 }, /* SUB.W Dn,(An)+ */ +{ CPUFUNC(op_9160_0), 0, 37216 }, /* SUB.W Dn,-(An) */ +{ CPUFUNC(op_9168_0), 0, 37224 }, /* SUB.W Dn,(d16,An) */ +{ CPUFUNC(op_9170_0), 0, 37232 }, /* SUB.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9178_0), 0, 37240 }, /* SUB.W Dn,(xxx).W */ +{ CPUFUNC(op_9179_0), 0, 37241 }, /* SUB.W Dn,(xxx).L */ +{ CPUFUNC(op_9180_0), 0, 37248 }, /* SUBX.L Dn,Dn */ +{ CPUFUNC(op_9188_0), 0, 37256 }, /* SUBX.L -(An),-(An) */ +{ CPUFUNC(op_9190_0), 0, 37264 }, /* SUB.L Dn,(An) */ +{ CPUFUNC(op_9198_0), 0, 37272 }, /* SUB.L Dn,(An)+ */ +{ CPUFUNC(op_91a0_0), 0, 37280 }, /* SUB.L Dn,-(An) */ +{ CPUFUNC(op_91a8_0), 0, 37288 }, /* SUB.L Dn,(d16,An) */ +{ CPUFUNC(op_91b0_0), 0, 37296 }, /* SUB.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_91b8_0), 0, 37304 }, /* SUB.L Dn,(xxx).W */ +{ CPUFUNC(op_91b9_0), 0, 37305 }, /* SUB.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_91c0_0), 0, 37312 }, /* SUBA.L Dn,An */ +{ CPUFUNC_FF(op_91c8_0), 0, 37320 }, /* SUBA.L An,An */ +{ CPUFUNC_FF(op_91d0_0), 0, 37328 }, /* SUBA.L (An),An */ +{ CPUFUNC_FF(op_91d8_0), 0, 37336 }, /* SUBA.L (An)+,An */ +{ CPUFUNC_FF(op_91e0_0), 0, 37344 }, /* SUBA.L -(An),An */ +{ CPUFUNC_FF(op_91e8_0), 0, 37352 }, /* SUBA.L (d16,An),An */ +{ CPUFUNC_FF(op_91f0_0), 0, 37360 }, /* SUBA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_91f8_0), 0, 37368 }, /* SUBA.L (xxx).W,An */ +{ CPUFUNC_FF(op_91f9_0), 0, 37369 }, /* SUBA.L (xxx).L,An */ +{ CPUFUNC_FF(op_91fa_0), 0, 37370 }, /* SUBA.L (d16,PC),An */ +{ CPUFUNC_FF(op_91fb_0), 0, 37371 }, /* SUBA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_91fc_0), 0, 37372 }, /* SUBA.L #.L,An */ +{ CPUFUNC(op_b000_0), 0, 45056 }, /* CMP.B Dn,Dn */ +{ CPUFUNC(op_b010_0), 0, 45072 }, /* CMP.B (An),Dn */ +{ CPUFUNC(op_b018_0), 0, 45080 }, /* CMP.B (An)+,Dn */ +{ CPUFUNC(op_b020_0), 0, 45088 }, /* CMP.B -(An),Dn */ +{ CPUFUNC(op_b028_0), 0, 45096 }, /* CMP.B (d16,An),Dn */ +{ CPUFUNC(op_b030_0), 0, 45104 }, /* CMP.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_b038_0), 0, 45112 }, /* CMP.B (xxx).W,Dn */ +{ CPUFUNC(op_b039_0), 0, 45113 }, /* CMP.B (xxx).L,Dn */ +{ CPUFUNC(op_b03a_0), 0, 45114 }, /* CMP.B (d16,PC),Dn */ +{ CPUFUNC(op_b03b_0), 0, 45115 }, /* CMP.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b03c_0), 0, 45116 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_b040_0), 0, 45120 }, /* CMP.W Dn,Dn */ +{ CPUFUNC(op_b048_0), 0, 45128 }, /* CMP.W An,Dn */ +{ CPUFUNC(op_b050_0), 0, 45136 }, /* CMP.W (An),Dn */ +{ CPUFUNC(op_b058_0), 0, 45144 }, /* CMP.W (An)+,Dn */ +{ CPUFUNC(op_b060_0), 0, 45152 }, /* CMP.W -(An),Dn */ +{ CPUFUNC(op_b068_0), 0, 45160 }, /* CMP.W (d16,An),Dn */ +{ CPUFUNC(op_b070_0), 0, 45168 }, /* CMP.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_b078_0), 0, 45176 }, /* CMP.W (xxx).W,Dn */ +{ CPUFUNC(op_b079_0), 0, 45177 }, /* CMP.W (xxx).L,Dn */ +{ CPUFUNC(op_b07a_0), 0, 45178 }, /* CMP.W (d16,PC),Dn */ +{ CPUFUNC(op_b07b_0), 0, 45179 }, /* CMP.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b07c_0), 0, 45180 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_b080_0), 0, 45184 }, /* CMP.L Dn,Dn */ +{ CPUFUNC(op_b088_0), 0, 45192 }, /* CMP.L An,Dn */ +{ CPUFUNC(op_b090_0), 0, 45200 }, /* CMP.L (An),Dn */ +{ CPUFUNC(op_b098_0), 0, 45208 }, /* CMP.L (An)+,Dn */ +{ CPUFUNC(op_b0a0_0), 0, 45216 }, /* CMP.L -(An),Dn */ +{ CPUFUNC(op_b0a8_0), 0, 45224 }, /* CMP.L (d16,An),Dn */ +{ CPUFUNC(op_b0b0_0), 0, 45232 }, /* CMP.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_b0b8_0), 0, 45240 }, /* CMP.L (xxx).W,Dn */ +{ CPUFUNC(op_b0b9_0), 0, 45241 }, /* CMP.L (xxx).L,Dn */ +{ CPUFUNC(op_b0ba_0), 0, 45242 }, /* CMP.L (d16,PC),Dn */ +{ CPUFUNC(op_b0bb_0), 0, 45243 }, /* CMP.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b0bc_0), 0, 45244 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_b0c0_0), 0, 45248 }, /* CMPA.W Dn,An */ +{ CPUFUNC(op_b0c8_0), 0, 45256 }, /* CMPA.W An,An */ +{ CPUFUNC(op_b0d0_0), 0, 45264 }, /* CMPA.W (An),An */ +{ CPUFUNC(op_b0d8_0), 0, 45272 }, /* CMPA.W (An)+,An */ +{ CPUFUNC(op_b0e0_0), 0, 45280 }, /* CMPA.W -(An),An */ +{ CPUFUNC(op_b0e8_0), 0, 45288 }, /* CMPA.W (d16,An),An */ +{ CPUFUNC(op_b0f0_0), 0, 45296 }, /* CMPA.W (d8,An,Xn),An */ +{ CPUFUNC(op_b0f8_0), 0, 45304 }, /* CMPA.W (xxx).W,An */ +{ CPUFUNC(op_b0f9_0), 0, 45305 }, /* CMPA.W (xxx).L,An */ +{ CPUFUNC(op_b0fa_0), 0, 45306 }, /* CMPA.W (d16,PC),An */ +{ CPUFUNC(op_b0fb_0), 0, 45307 }, /* CMPA.W (d8,PC,Xn),An */ +{ CPUFUNC(op_b0fc_0), 0, 45308 }, /* CMPA.W #.W,An */ +{ CPUFUNC(op_b100_0), 0, 45312 }, /* EOR.B Dn,Dn */ +{ CPUFUNC(op_b108_0), 0, 45320 }, /* CMPM.B (An)+,(An)+ */ +{ CPUFUNC(op_b110_0), 0, 45328 }, /* EOR.B Dn,(An) */ +{ CPUFUNC(op_b118_0), 0, 45336 }, /* EOR.B Dn,(An)+ */ +{ CPUFUNC(op_b120_0), 0, 45344 }, /* EOR.B Dn,-(An) */ +{ CPUFUNC(op_b128_0), 0, 45352 }, /* EOR.B Dn,(d16,An) */ +{ CPUFUNC(op_b130_0), 0, 45360 }, /* EOR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b138_0), 0, 45368 }, /* EOR.B Dn,(xxx).W */ +{ CPUFUNC(op_b139_0), 0, 45369 }, /* EOR.B Dn,(xxx).L */ +{ CPUFUNC(op_b140_0), 0, 45376 }, /* EOR.W Dn,Dn */ +{ CPUFUNC(op_b148_0), 0, 45384 }, /* CMPM.W (An)+,(An)+ */ +{ CPUFUNC(op_b150_0), 0, 45392 }, /* EOR.W Dn,(An) */ +{ CPUFUNC(op_b158_0), 0, 45400 }, /* EOR.W Dn,(An)+ */ +{ CPUFUNC(op_b160_0), 0, 45408 }, /* EOR.W Dn,-(An) */ +{ CPUFUNC(op_b168_0), 0, 45416 }, /* EOR.W Dn,(d16,An) */ +{ CPUFUNC(op_b170_0), 0, 45424 }, /* EOR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b178_0), 0, 45432 }, /* EOR.W Dn,(xxx).W */ +{ CPUFUNC(op_b179_0), 0, 45433 }, /* EOR.W Dn,(xxx).L */ +{ CPUFUNC(op_b180_0), 0, 45440 }, /* EOR.L Dn,Dn */ +{ CPUFUNC(op_b188_0), 0, 45448 }, /* CMPM.L (An)+,(An)+ */ +{ CPUFUNC(op_b190_0), 0, 45456 }, /* EOR.L Dn,(An) */ +{ CPUFUNC(op_b198_0), 0, 45464 }, /* EOR.L Dn,(An)+ */ +{ CPUFUNC(op_b1a0_0), 0, 45472 }, /* EOR.L Dn,-(An) */ +{ CPUFUNC(op_b1a8_0), 0, 45480 }, /* EOR.L Dn,(d16,An) */ +{ CPUFUNC(op_b1b0_0), 0, 45488 }, /* EOR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b1b8_0), 0, 45496 }, /* EOR.L Dn,(xxx).W */ +{ CPUFUNC(op_b1b9_0), 0, 45497 }, /* EOR.L Dn,(xxx).L */ +{ CPUFUNC(op_b1c0_0), 0, 45504 }, /* CMPA.L Dn,An */ +{ CPUFUNC(op_b1c8_0), 0, 45512 }, /* CMPA.L An,An */ +{ CPUFUNC(op_b1d0_0), 0, 45520 }, /* CMPA.L (An),An */ +{ CPUFUNC(op_b1d8_0), 0, 45528 }, /* CMPA.L (An)+,An */ +{ CPUFUNC(op_b1e0_0), 0, 45536 }, /* CMPA.L -(An),An */ +{ CPUFUNC(op_b1e8_0), 0, 45544 }, /* CMPA.L (d16,An),An */ +{ CPUFUNC(op_b1f0_0), 0, 45552 }, /* CMPA.L (d8,An,Xn),An */ +{ CPUFUNC(op_b1f8_0), 0, 45560 }, /* CMPA.L (xxx).W,An */ +{ CPUFUNC(op_b1f9_0), 0, 45561 }, /* CMPA.L (xxx).L,An */ +{ CPUFUNC(op_b1fa_0), 0, 45562 }, /* CMPA.L (d16,PC),An */ +{ CPUFUNC(op_b1fb_0), 0, 45563 }, /* CMPA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_b1fc_0), 0, 45564 }, /* CMPA.L #.L,An */ +{ CPUFUNC(op_c000_0), 0, 49152 }, /* AND.B Dn,Dn */ +{ CPUFUNC(op_c010_0), 0, 49168 }, /* AND.B (An),Dn */ +{ CPUFUNC(op_c018_0), 0, 49176 }, /* AND.B (An)+,Dn */ +{ CPUFUNC(op_c020_0), 0, 49184 }, /* AND.B -(An),Dn */ +{ CPUFUNC(op_c028_0), 0, 49192 }, /* AND.B (d16,An),Dn */ +{ CPUFUNC(op_c030_0), 0, 49200 }, /* AND.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_c038_0), 0, 49208 }, /* AND.B (xxx).W,Dn */ +{ CPUFUNC(op_c039_0), 0, 49209 }, /* AND.B (xxx).L,Dn */ +{ CPUFUNC(op_c03a_0), 0, 49210 }, /* AND.B (d16,PC),Dn */ +{ CPUFUNC(op_c03b_0), 0, 49211 }, /* AND.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c03c_0), 0, 49212 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_c040_0), 0, 49216 }, /* AND.W Dn,Dn */ +{ CPUFUNC(op_c050_0), 0, 49232 }, /* AND.W (An),Dn */ +{ CPUFUNC(op_c058_0), 0, 49240 }, /* AND.W (An)+,Dn */ +{ CPUFUNC(op_c060_0), 0, 49248 }, /* AND.W -(An),Dn */ +{ CPUFUNC(op_c068_0), 0, 49256 }, /* AND.W (d16,An),Dn */ +{ CPUFUNC(op_c070_0), 0, 49264 }, /* AND.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c078_0), 0, 49272 }, /* AND.W (xxx).W,Dn */ +{ CPUFUNC(op_c079_0), 0, 49273 }, /* AND.W (xxx).L,Dn */ +{ CPUFUNC(op_c07a_0), 0, 49274 }, /* AND.W (d16,PC),Dn */ +{ CPUFUNC(op_c07b_0), 0, 49275 }, /* AND.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c07c_0), 0, 49276 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_c080_0), 0, 49280 }, /* AND.L Dn,Dn */ +{ CPUFUNC(op_c090_0), 0, 49296 }, /* AND.L (An),Dn */ +{ CPUFUNC(op_c098_0), 0, 49304 }, /* AND.L (An)+,Dn */ +{ CPUFUNC(op_c0a0_0), 0, 49312 }, /* AND.L -(An),Dn */ +{ CPUFUNC(op_c0a8_0), 0, 49320 }, /* AND.L (d16,An),Dn */ +{ CPUFUNC(op_c0b0_0), 0, 49328 }, /* AND.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0b8_0), 0, 49336 }, /* AND.L (xxx).W,Dn */ +{ CPUFUNC(op_c0b9_0), 0, 49337 }, /* AND.L (xxx).L,Dn */ +{ CPUFUNC(op_c0ba_0), 0, 49338 }, /* AND.L (d16,PC),Dn */ +{ CPUFUNC(op_c0bb_0), 0, 49339 }, /* AND.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0bc_0), 0, 49340 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_c0c0_0), 0, 49344 }, /* MULU.W Dn,Dn */ +{ CPUFUNC(op_c0d0_0), 0, 49360 }, /* MULU.W (An),Dn */ +{ CPUFUNC(op_c0d8_0), 0, 49368 }, /* MULU.W (An)+,Dn */ +{ CPUFUNC(op_c0e0_0), 0, 49376 }, /* MULU.W -(An),Dn */ +{ CPUFUNC(op_c0e8_0), 0, 49384 }, /* MULU.W (d16,An),Dn */ +{ CPUFUNC(op_c0f0_0), 0, 49392 }, /* MULU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0f8_0), 0, 49400 }, /* MULU.W (xxx).W,Dn */ +{ CPUFUNC(op_c0f9_0), 0, 49401 }, /* MULU.W (xxx).L,Dn */ +{ CPUFUNC(op_c0fa_0), 0, 49402 }, /* MULU.W (d16,PC),Dn */ +{ CPUFUNC(op_c0fb_0), 0, 49403 }, /* MULU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0fc_0), 0, 49404 }, /* MULU.W #.W,Dn */ +{ CPUFUNC(op_c100_0), 0, 49408 }, /* ABCD.B Dn,Dn */ +{ CPUFUNC(op_c108_0), 0, 49416 }, /* ABCD.B -(An),-(An) */ +{ CPUFUNC(op_c110_0), 0, 49424 }, /* AND.B Dn,(An) */ +{ CPUFUNC(op_c118_0), 0, 49432 }, /* AND.B Dn,(An)+ */ +{ CPUFUNC(op_c120_0), 0, 49440 }, /* AND.B Dn,-(An) */ +{ CPUFUNC(op_c128_0), 0, 49448 }, /* AND.B Dn,(d16,An) */ +{ CPUFUNC(op_c130_0), 0, 49456 }, /* AND.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c138_0), 0, 49464 }, /* AND.B Dn,(xxx).W */ +{ CPUFUNC(op_c139_0), 0, 49465 }, /* AND.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_c140_0), 0, 49472 }, /* EXG.L Dn,Dn */ +{ CPUFUNC_FF(op_c148_0), 0, 49480 }, /* EXG.L An,An */ +{ CPUFUNC(op_c150_0), 0, 49488 }, /* AND.W Dn,(An) */ +{ CPUFUNC(op_c158_0), 0, 49496 }, /* AND.W Dn,(An)+ */ +{ CPUFUNC(op_c160_0), 0, 49504 }, /* AND.W Dn,-(An) */ +{ CPUFUNC(op_c168_0), 0, 49512 }, /* AND.W Dn,(d16,An) */ +{ CPUFUNC(op_c170_0), 0, 49520 }, /* AND.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c178_0), 0, 49528 }, /* AND.W Dn,(xxx).W */ +{ CPUFUNC(op_c179_0), 0, 49529 }, /* AND.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_c188_0), 0, 49544 }, /* EXG.L Dn,An */ +{ CPUFUNC(op_c190_0), 0, 49552 }, /* AND.L Dn,(An) */ +{ CPUFUNC(op_c198_0), 0, 49560 }, /* AND.L Dn,(An)+ */ +{ CPUFUNC(op_c1a0_0), 0, 49568 }, /* AND.L Dn,-(An) */ +{ CPUFUNC(op_c1a8_0), 0, 49576 }, /* AND.L Dn,(d16,An) */ +{ CPUFUNC(op_c1b0_0), 0, 49584 }, /* AND.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c1b8_0), 0, 49592 }, /* AND.L Dn,(xxx).W */ +{ CPUFUNC(op_c1b9_0), 0, 49593 }, /* AND.L Dn,(xxx).L */ +{ CPUFUNC(op_c1c0_0), 0, 49600 }, /* MULS.W Dn,Dn */ +{ CPUFUNC(op_c1d0_0), 0, 49616 }, /* MULS.W (An),Dn */ +{ CPUFUNC(op_c1d8_0), 0, 49624 }, /* MULS.W (An)+,Dn */ +{ CPUFUNC(op_c1e0_0), 0, 49632 }, /* MULS.W -(An),Dn */ +{ CPUFUNC(op_c1e8_0), 0, 49640 }, /* MULS.W (d16,An),Dn */ +{ CPUFUNC(op_c1f0_0), 0, 49648 }, /* MULS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c1f8_0), 0, 49656 }, /* MULS.W (xxx).W,Dn */ +{ CPUFUNC(op_c1f9_0), 0, 49657 }, /* MULS.W (xxx).L,Dn */ +{ CPUFUNC(op_c1fa_0), 0, 49658 }, /* MULS.W (d16,PC),Dn */ +{ CPUFUNC(op_c1fb_0), 0, 49659 }, /* MULS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c1fc_0), 0, 49660 }, /* MULS.W #.W,Dn */ +{ CPUFUNC(op_d000_0), 0, 53248 }, /* ADD.B Dn,Dn */ +{ CPUFUNC(op_d010_0), 0, 53264 }, /* ADD.B (An),Dn */ +{ CPUFUNC(op_d018_0), 0, 53272 }, /* ADD.B (An)+,Dn */ +{ CPUFUNC(op_d020_0), 0, 53280 }, /* ADD.B -(An),Dn */ +{ CPUFUNC(op_d028_0), 0, 53288 }, /* ADD.B (d16,An),Dn */ +{ CPUFUNC(op_d030_0), 0, 53296 }, /* ADD.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_d038_0), 0, 53304 }, /* ADD.B (xxx).W,Dn */ +{ CPUFUNC(op_d039_0), 0, 53305 }, /* ADD.B (xxx).L,Dn */ +{ CPUFUNC(op_d03a_0), 0, 53306 }, /* ADD.B (d16,PC),Dn */ +{ CPUFUNC(op_d03b_0), 0, 53307 }, /* ADD.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d03c_0), 0, 53308 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_d040_0), 0, 53312 }, /* ADD.W Dn,Dn */ +{ CPUFUNC(op_d048_0), 0, 53320 }, /* ADD.W An,Dn */ +{ CPUFUNC(op_d050_0), 0, 53328 }, /* ADD.W (An),Dn */ +{ CPUFUNC(op_d058_0), 0, 53336 }, /* ADD.W (An)+,Dn */ +{ CPUFUNC(op_d060_0), 0, 53344 }, /* ADD.W -(An),Dn */ +{ CPUFUNC(op_d068_0), 0, 53352 }, /* ADD.W (d16,An),Dn */ +{ CPUFUNC(op_d070_0), 0, 53360 }, /* ADD.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_d078_0), 0, 53368 }, /* ADD.W (xxx).W,Dn */ +{ CPUFUNC(op_d079_0), 0, 53369 }, /* ADD.W (xxx).L,Dn */ +{ CPUFUNC(op_d07a_0), 0, 53370 }, /* ADD.W (d16,PC),Dn */ +{ CPUFUNC(op_d07b_0), 0, 53371 }, /* ADD.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d07c_0), 0, 53372 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_d080_0), 0, 53376 }, /* ADD.L Dn,Dn */ +{ CPUFUNC(op_d088_0), 0, 53384 }, /* ADD.L An,Dn */ +{ CPUFUNC(op_d090_0), 0, 53392 }, /* ADD.L (An),Dn */ +{ CPUFUNC(op_d098_0), 0, 53400 }, /* ADD.L (An)+,Dn */ +{ CPUFUNC(op_d0a0_0), 0, 53408 }, /* ADD.L -(An),Dn */ +{ CPUFUNC(op_d0a8_0), 0, 53416 }, /* ADD.L (d16,An),Dn */ +{ CPUFUNC(op_d0b0_0), 0, 53424 }, /* ADD.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_d0b8_0), 0, 53432 }, /* ADD.L (xxx).W,Dn */ +{ CPUFUNC(op_d0b9_0), 0, 53433 }, /* ADD.L (xxx).L,Dn */ +{ CPUFUNC(op_d0ba_0), 0, 53434 }, /* ADD.L (d16,PC),Dn */ +{ CPUFUNC(op_d0bb_0), 0, 53435 }, /* ADD.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d0bc_0), 0, 53436 }, /* ADD.L #.L,Dn */ +{ CPUFUNC_FF(op_d0c0_0), 0, 53440 }, /* ADDA.W Dn,An */ +{ CPUFUNC_FF(op_d0c8_0), 0, 53448 }, /* ADDA.W An,An */ +{ CPUFUNC_FF(op_d0d0_0), 0, 53456 }, /* ADDA.W (An),An */ +{ CPUFUNC_FF(op_d0d8_0), 0, 53464 }, /* ADDA.W (An)+,An */ +{ CPUFUNC_FF(op_d0e0_0), 0, 53472 }, /* ADDA.W -(An),An */ +{ CPUFUNC_FF(op_d0e8_0), 0, 53480 }, /* ADDA.W (d16,An),An */ +{ CPUFUNC_FF(op_d0f0_0), 0, 53488 }, /* ADDA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d0f8_0), 0, 53496 }, /* ADDA.W (xxx).W,An */ +{ CPUFUNC_FF(op_d0f9_0), 0, 53497 }, /* ADDA.W (xxx).L,An */ +{ CPUFUNC_FF(op_d0fa_0), 0, 53498 }, /* ADDA.W (d16,PC),An */ +{ CPUFUNC_FF(op_d0fb_0), 0, 53499 }, /* ADDA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d0fc_0), 0, 53500 }, /* ADDA.W #.W,An */ +{ CPUFUNC(op_d100_0), 0, 53504 }, /* ADDX.B Dn,Dn */ +{ CPUFUNC(op_d108_0), 0, 53512 }, /* ADDX.B -(An),-(An) */ +{ CPUFUNC(op_d110_0), 0, 53520 }, /* ADD.B Dn,(An) */ +{ CPUFUNC(op_d118_0), 0, 53528 }, /* ADD.B Dn,(An)+ */ +{ CPUFUNC(op_d120_0), 0, 53536 }, /* ADD.B Dn,-(An) */ +{ CPUFUNC(op_d128_0), 0, 53544 }, /* ADD.B Dn,(d16,An) */ +{ CPUFUNC(op_d130_0), 0, 53552 }, /* ADD.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d138_0), 0, 53560 }, /* ADD.B Dn,(xxx).W */ +{ CPUFUNC(op_d139_0), 0, 53561 }, /* ADD.B Dn,(xxx).L */ +{ CPUFUNC(op_d140_0), 0, 53568 }, /* ADDX.W Dn,Dn */ +{ CPUFUNC(op_d148_0), 0, 53576 }, /* ADDX.W -(An),-(An) */ +{ CPUFUNC(op_d150_0), 0, 53584 }, /* ADD.W Dn,(An) */ +{ CPUFUNC(op_d158_0), 0, 53592 }, /* ADD.W Dn,(An)+ */ +{ CPUFUNC(op_d160_0), 0, 53600 }, /* ADD.W Dn,-(An) */ +{ CPUFUNC(op_d168_0), 0, 53608 }, /* ADD.W Dn,(d16,An) */ +{ CPUFUNC(op_d170_0), 0, 53616 }, /* ADD.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d178_0), 0, 53624 }, /* ADD.W Dn,(xxx).W */ +{ CPUFUNC(op_d179_0), 0, 53625 }, /* ADD.W Dn,(xxx).L */ +{ CPUFUNC(op_d180_0), 0, 53632 }, /* ADDX.L Dn,Dn */ +{ CPUFUNC(op_d188_0), 0, 53640 }, /* ADDX.L -(An),-(An) */ +{ CPUFUNC(op_d190_0), 0, 53648 }, /* ADD.L Dn,(An) */ +{ CPUFUNC(op_d198_0), 0, 53656 }, /* ADD.L Dn,(An)+ */ +{ CPUFUNC(op_d1a0_0), 0, 53664 }, /* ADD.L Dn,-(An) */ +{ CPUFUNC(op_d1a8_0), 0, 53672 }, /* ADD.L Dn,(d16,An) */ +{ CPUFUNC(op_d1b0_0), 0, 53680 }, /* ADD.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d1b8_0), 0, 53688 }, /* ADD.L Dn,(xxx).W */ +{ CPUFUNC(op_d1b9_0), 0, 53689 }, /* ADD.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_d1c0_0), 0, 53696 }, /* ADDA.L Dn,An */ +{ CPUFUNC_FF(op_d1c8_0), 0, 53704 }, /* ADDA.L An,An */ +{ CPUFUNC_FF(op_d1d0_0), 0, 53712 }, /* ADDA.L (An),An */ +{ CPUFUNC_FF(op_d1d8_0), 0, 53720 }, /* ADDA.L (An)+,An */ +{ CPUFUNC_FF(op_d1e0_0), 0, 53728 }, /* ADDA.L -(An),An */ +{ CPUFUNC_FF(op_d1e8_0), 0, 53736 }, /* ADDA.L (d16,An),An */ +{ CPUFUNC_FF(op_d1f0_0), 0, 53744 }, /* ADDA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d1f8_0), 0, 53752 }, /* ADDA.L (xxx).W,An */ +{ CPUFUNC_FF(op_d1f9_0), 0, 53753 }, /* ADDA.L (xxx).L,An */ +{ CPUFUNC_FF(op_d1fa_0), 0, 53754 }, /* ADDA.L (d16,PC),An */ +{ CPUFUNC_FF(op_d1fb_0), 0, 53755 }, /* ADDA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d1fc_0), 0, 53756 }, /* ADDA.L #.L,An */ +{ CPUFUNC(op_e000_0), 0, 57344 }, /* ASR.B #,Dn */ +{ CPUFUNC(op_e008_0), 0, 57352 }, /* LSR.B #,Dn */ +{ CPUFUNC(op_e010_0), 0, 57360 }, /* ROXR.B #,Dn */ +{ CPUFUNC(op_e018_0), 0, 57368 }, /* ROR.B #,Dn */ +{ CPUFUNC(op_e020_0), 0, 57376 }, /* ASR.B Dn,Dn */ +{ CPUFUNC(op_e028_0), 0, 57384 }, /* LSR.B Dn,Dn */ +{ CPUFUNC(op_e030_0), 0, 57392 }, /* ROXR.B Dn,Dn */ +{ CPUFUNC(op_e038_0), 0, 57400 }, /* ROR.B Dn,Dn */ +{ CPUFUNC(op_e040_0), 0, 57408 }, /* ASR.W #,Dn */ +{ CPUFUNC(op_e048_0), 0, 57416 }, /* LSR.W #,Dn */ +{ CPUFUNC(op_e050_0), 0, 57424 }, /* ROXR.W #,Dn */ +{ CPUFUNC(op_e058_0), 0, 57432 }, /* ROR.W #,Dn */ +{ CPUFUNC(op_e060_0), 0, 57440 }, /* ASR.W Dn,Dn */ +{ CPUFUNC(op_e068_0), 0, 57448 }, /* LSR.W Dn,Dn */ +{ CPUFUNC(op_e070_0), 0, 57456 }, /* ROXR.W Dn,Dn */ +{ CPUFUNC(op_e078_0), 0, 57464 }, /* ROR.W Dn,Dn */ +{ CPUFUNC(op_e080_0), 0, 57472 }, /* ASR.L #,Dn */ +{ CPUFUNC(op_e088_0), 0, 57480 }, /* LSR.L #,Dn */ +{ CPUFUNC(op_e090_0), 0, 57488 }, /* ROXR.L #,Dn */ +{ CPUFUNC(op_e098_0), 0, 57496 }, /* ROR.L #,Dn */ +{ CPUFUNC(op_e0a0_0), 0, 57504 }, /* ASR.L Dn,Dn */ +{ CPUFUNC(op_e0a8_0), 0, 57512 }, /* LSR.L Dn,Dn */ +{ CPUFUNC(op_e0b0_0), 0, 57520 }, /* ROXR.L Dn,Dn */ +{ CPUFUNC(op_e0b8_0), 0, 57528 }, /* ROR.L Dn,Dn */ +{ CPUFUNC(op_e0d0_0), 0, 57552 }, /* ASRW.W (An) */ +{ CPUFUNC(op_e0d8_0), 0, 57560 }, /* ASRW.W (An)+ */ +{ CPUFUNC(op_e0e0_0), 0, 57568 }, /* ASRW.W -(An) */ +{ CPUFUNC(op_e0e8_0), 0, 57576 }, /* ASRW.W (d16,An) */ +{ CPUFUNC(op_e0f0_0), 0, 57584 }, /* ASRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e0f8_0), 0, 57592 }, /* ASRW.W (xxx).W */ +{ CPUFUNC(op_e0f9_0), 0, 57593 }, /* ASRW.W (xxx).L */ +{ CPUFUNC(op_e100_0), 0, 57600 }, /* ASL.B #,Dn */ +{ CPUFUNC(op_e108_0), 0, 57608 }, /* LSL.B #,Dn */ +{ CPUFUNC(op_e110_0), 0, 57616 }, /* ROXL.B #,Dn */ +{ CPUFUNC(op_e118_0), 0, 57624 }, /* ROL.B #,Dn */ +{ CPUFUNC(op_e120_0), 0, 57632 }, /* ASL.B Dn,Dn */ +{ CPUFUNC(op_e128_0), 0, 57640 }, /* LSL.B Dn,Dn */ +{ CPUFUNC(op_e130_0), 0, 57648 }, /* ROXL.B Dn,Dn */ +{ CPUFUNC(op_e138_0), 0, 57656 }, /* ROL.B Dn,Dn */ +{ CPUFUNC(op_e140_0), 0, 57664 }, /* ASL.W #,Dn */ +{ CPUFUNC(op_e148_0), 0, 57672 }, /* LSL.W #,Dn */ +{ CPUFUNC(op_e150_0), 0, 57680 }, /* ROXL.W #,Dn */ +{ CPUFUNC(op_e158_0), 0, 57688 }, /* ROL.W #,Dn */ +{ CPUFUNC(op_e160_0), 0, 57696 }, /* ASL.W Dn,Dn */ +{ CPUFUNC(op_e168_0), 0, 57704 }, /* LSL.W Dn,Dn */ +{ CPUFUNC(op_e170_0), 0, 57712 }, /* ROXL.W Dn,Dn */ +{ CPUFUNC(op_e178_0), 0, 57720 }, /* ROL.W Dn,Dn */ +{ CPUFUNC(op_e180_0), 0, 57728 }, /* ASL.L #,Dn */ +{ CPUFUNC(op_e188_0), 0, 57736 }, /* LSL.L #,Dn */ +{ CPUFUNC(op_e190_0), 0, 57744 }, /* ROXL.L #,Dn */ +{ CPUFUNC(op_e198_0), 0, 57752 }, /* ROL.L #,Dn */ +{ CPUFUNC(op_e1a0_0), 0, 57760 }, /* ASL.L Dn,Dn */ +{ CPUFUNC(op_e1a8_0), 0, 57768 }, /* LSL.L Dn,Dn */ +{ CPUFUNC(op_e1b0_0), 0, 57776 }, /* ROXL.L Dn,Dn */ +{ CPUFUNC(op_e1b8_0), 0, 57784 }, /* ROL.L Dn,Dn */ +{ CPUFUNC(op_e1d0_0), 0, 57808 }, /* ASLW.W (An) */ +{ CPUFUNC(op_e1d8_0), 0, 57816 }, /* ASLW.W (An)+ */ +{ CPUFUNC(op_e1e0_0), 0, 57824 }, /* ASLW.W -(An) */ +{ CPUFUNC(op_e1e8_0), 0, 57832 }, /* ASLW.W (d16,An) */ +{ CPUFUNC(op_e1f0_0), 0, 57840 }, /* ASLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e1f8_0), 0, 57848 }, /* ASLW.W (xxx).W */ +{ CPUFUNC(op_e1f9_0), 0, 57849 }, /* ASLW.W (xxx).L */ +{ CPUFUNC(op_e2d0_0), 0, 58064 }, /* LSRW.W (An) */ +{ CPUFUNC(op_e2d8_0), 0, 58072 }, /* LSRW.W (An)+ */ +{ CPUFUNC(op_e2e0_0), 0, 58080 }, /* LSRW.W -(An) */ +{ CPUFUNC(op_e2e8_0), 0, 58088 }, /* LSRW.W (d16,An) */ +{ CPUFUNC(op_e2f0_0), 0, 58096 }, /* LSRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e2f8_0), 0, 58104 }, /* LSRW.W (xxx).W */ +{ CPUFUNC(op_e2f9_0), 0, 58105 }, /* LSRW.W (xxx).L */ +{ CPUFUNC(op_e3d0_0), 0, 58320 }, /* LSLW.W (An) */ +{ CPUFUNC(op_e3d8_0), 0, 58328 }, /* LSLW.W (An)+ */ +{ CPUFUNC(op_e3e0_0), 0, 58336 }, /* LSLW.W -(An) */ +{ CPUFUNC(op_e3e8_0), 0, 58344 }, /* LSLW.W (d16,An) */ +{ CPUFUNC(op_e3f0_0), 0, 58352 }, /* LSLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e3f8_0), 0, 58360 }, /* LSLW.W (xxx).W */ +{ CPUFUNC(op_e3f9_0), 0, 58361 }, /* LSLW.W (xxx).L */ +{ CPUFUNC(op_e4d0_0), 0, 58576 }, /* ROXRW.W (An) */ +{ CPUFUNC(op_e4d8_0), 0, 58584 }, /* ROXRW.W (An)+ */ +{ CPUFUNC(op_e4e0_0), 0, 58592 }, /* ROXRW.W -(An) */ +{ CPUFUNC(op_e4e8_0), 0, 58600 }, /* ROXRW.W (d16,An) */ +{ CPUFUNC(op_e4f0_0), 0, 58608 }, /* ROXRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e4f8_0), 0, 58616 }, /* ROXRW.W (xxx).W */ +{ CPUFUNC(op_e4f9_0), 0, 58617 }, /* ROXRW.W (xxx).L */ +{ CPUFUNC(op_e5d0_0), 0, 58832 }, /* ROXLW.W (An) */ +{ CPUFUNC(op_e5d8_0), 0, 58840 }, /* ROXLW.W (An)+ */ +{ CPUFUNC(op_e5e0_0), 0, 58848 }, /* ROXLW.W -(An) */ +{ CPUFUNC(op_e5e8_0), 0, 58856 }, /* ROXLW.W (d16,An) */ +{ CPUFUNC(op_e5f0_0), 0, 58864 }, /* ROXLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e5f8_0), 0, 58872 }, /* ROXLW.W (xxx).W */ +{ CPUFUNC(op_e5f9_0), 0, 58873 }, /* ROXLW.W (xxx).L */ +{ CPUFUNC(op_e6d0_0), 0, 59088 }, /* RORW.W (An) */ +{ CPUFUNC(op_e6d8_0), 0, 59096 }, /* RORW.W (An)+ */ +{ CPUFUNC(op_e6e0_0), 0, 59104 }, /* RORW.W -(An) */ +{ CPUFUNC(op_e6e8_0), 0, 59112 }, /* RORW.W (d16,An) */ +{ CPUFUNC(op_e6f0_0), 0, 59120 }, /* RORW.W (d8,An,Xn) */ +{ CPUFUNC(op_e6f8_0), 0, 59128 }, /* RORW.W (xxx).W */ +{ CPUFUNC(op_e6f9_0), 0, 59129 }, /* RORW.W (xxx).L */ +{ CPUFUNC(op_e7d0_0), 0, 59344 }, /* ROLW.W (An) */ +{ CPUFUNC(op_e7d8_0), 0, 59352 }, /* ROLW.W (An)+ */ +{ CPUFUNC(op_e7e0_0), 0, 59360 }, /* ROLW.W -(An) */ +{ CPUFUNC(op_e7e8_0), 0, 59368 }, /* ROLW.W (d16,An) */ +{ CPUFUNC(op_e7f0_0), 0, 59376 }, /* ROLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e7f8_0), 0, 59384 }, /* ROLW.W (xxx).W */ +{ CPUFUNC(op_e7f9_0), 0, 59385 }, /* ROLW.W (xxx).L */ +{ CPUFUNC(op_e8c0_0), 0, 59584 }, /* BFTST.L #.W,Dn */ +{ CPUFUNC(op_e8d0_0), 0, 59600 }, /* BFTST.L #.W,(An) */ +{ CPUFUNC(op_e8e8_0), 0, 59624 }, /* BFTST.L #.W,(d16,An) */ +{ CPUFUNC(op_e8f0_0), 0, 59632 }, /* BFTST.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_e8f8_0), 0, 59640 }, /* BFTST.L #.W,(xxx).W */ +{ CPUFUNC(op_e8f9_0), 0, 59641 }, /* BFTST.L #.W,(xxx).L */ +{ CPUFUNC(op_e8fa_0), 0, 59642 }, /* BFTST.L #.W,(d16,PC) */ +{ CPUFUNC(op_e8fb_0), 0, 59643 }, /* BFTST.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_e9c0_0), 0, 59840 }, /* BFEXTU.L #.W,Dn */ +{ CPUFUNC(op_e9d0_0), 0, 59856 }, /* BFEXTU.L #.W,(An) */ +{ CPUFUNC(op_e9e8_0), 0, 59880 }, /* BFEXTU.L #.W,(d16,An) */ +{ CPUFUNC(op_e9f0_0), 0, 59888 }, /* BFEXTU.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_e9f8_0), 0, 59896 }, /* BFEXTU.L #.W,(xxx).W */ +{ CPUFUNC(op_e9f9_0), 0, 59897 }, /* BFEXTU.L #.W,(xxx).L */ +{ CPUFUNC(op_e9fa_0), 0, 59898 }, /* BFEXTU.L #.W,(d16,PC) */ +{ CPUFUNC(op_e9fb_0), 0, 59899 }, /* BFEXTU.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_eac0_0), 0, 60096 }, /* BFCHG.L #.W,Dn */ +{ CPUFUNC(op_ead0_0), 0, 60112 }, /* BFCHG.L #.W,(An) */ +{ CPUFUNC(op_eae8_0), 0, 60136 }, /* BFCHG.L #.W,(d16,An) */ +{ CPUFUNC(op_eaf0_0), 0, 60144 }, /* BFCHG.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eaf8_0), 0, 60152 }, /* BFCHG.L #.W,(xxx).W */ +{ CPUFUNC(op_eaf9_0), 0, 60153 }, /* BFCHG.L #.W,(xxx).L */ +{ CPUFUNC(op_ebc0_0), 0, 60352 }, /* BFEXTS.L #.W,Dn */ +{ CPUFUNC(op_ebd0_0), 0, 60368 }, /* BFEXTS.L #.W,(An) */ +{ CPUFUNC(op_ebe8_0), 0, 60392 }, /* BFEXTS.L #.W,(d16,An) */ +{ CPUFUNC(op_ebf0_0), 0, 60400 }, /* BFEXTS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ebf8_0), 0, 60408 }, /* BFEXTS.L #.W,(xxx).W */ +{ CPUFUNC(op_ebf9_0), 0, 60409 }, /* BFEXTS.L #.W,(xxx).L */ +{ CPUFUNC(op_ebfa_0), 0, 60410 }, /* BFEXTS.L #.W,(d16,PC) */ +{ CPUFUNC(op_ebfb_0), 0, 60411 }, /* BFEXTS.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_ecc0_0), 0, 60608 }, /* BFCLR.L #.W,Dn */ +{ CPUFUNC(op_ecd0_0), 0, 60624 }, /* BFCLR.L #.W,(An) */ +{ CPUFUNC(op_ece8_0), 0, 60648 }, /* BFCLR.L #.W,(d16,An) */ +{ CPUFUNC(op_ecf0_0), 0, 60656 }, /* BFCLR.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ecf8_0), 0, 60664 }, /* BFCLR.L #.W,(xxx).W */ +{ CPUFUNC(op_ecf9_0), 0, 60665 }, /* BFCLR.L #.W,(xxx).L */ +{ CPUFUNC(op_edc0_0), 0, 60864 }, /* BFFFO.L #.W,Dn */ +{ CPUFUNC(op_edd0_0), 0, 60880 }, /* BFFFO.L #.W,(An) */ +{ CPUFUNC(op_ede8_0), 0, 60904 }, /* BFFFO.L #.W,(d16,An) */ +{ CPUFUNC(op_edf0_0), 0, 60912 }, /* BFFFO.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_edf8_0), 0, 60920 }, /* BFFFO.L #.W,(xxx).W */ +{ CPUFUNC(op_edf9_0), 0, 60921 }, /* BFFFO.L #.W,(xxx).L */ +{ CPUFUNC(op_edfa_0), 0, 60922 }, /* BFFFO.L #.W,(d16,PC) */ +{ CPUFUNC(op_edfb_0), 0, 60923 }, /* BFFFO.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_eec0_0), 0, 61120 }, /* BFSET.L #.W,Dn */ +{ CPUFUNC(op_eed0_0), 0, 61136 }, /* BFSET.L #.W,(An) */ +{ CPUFUNC(op_eee8_0), 0, 61160 }, /* BFSET.L #.W,(d16,An) */ +{ CPUFUNC(op_eef0_0), 0, 61168 }, /* BFSET.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eef8_0), 0, 61176 }, /* BFSET.L #.W,(xxx).W */ +{ CPUFUNC(op_eef9_0), 0, 61177 }, /* BFSET.L #.W,(xxx).L */ +{ CPUFUNC(op_efc0_0), 0, 61376 }, /* BFINS.L #.W,Dn */ +{ CPUFUNC(op_efd0_0), 0, 61392 }, /* BFINS.L #.W,(An) */ +{ CPUFUNC(op_efe8_0), 0, 61416 }, /* BFINS.L #.W,(d16,An) */ +{ CPUFUNC(op_eff0_0), 0, 61424 }, /* BFINS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eff8_0), 0, 61432 }, /* BFINS.L #.W,(xxx).W */ +{ CPUFUNC(op_eff9_0), 0, 61433 }, /* BFINS.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_f200_0), 0, 61952 }, /* FPP.L #.W,Dn */ +{ CPUFUNC_FF(op_f208_0), 0, 61960 }, /* FPP.L #.W,An */ +{ CPUFUNC_FF(op_f210_0), 0, 61968 }, /* FPP.L #.W,(An) */ +{ CPUFUNC_FF(op_f218_0), 0, 61976 }, /* FPP.L #.W,(An)+ */ +{ CPUFUNC_FF(op_f220_0), 0, 61984 }, /* FPP.L #.W,-(An) */ +{ CPUFUNC_FF(op_f228_0), 0, 61992 }, /* FPP.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_f230_0), 0, 62000 }, /* FPP.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_f238_0), 0, 62008 }, /* FPP.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_f239_0), 0, 62009 }, /* FPP.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_f23a_0), 0, 62010 }, /* FPP.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_f23b_0), 0, 62011 }, /* FPP.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_f23c_0), 0, 62012 }, /* FPP.L #.W,#.L */ +{ CPUFUNC_FF(op_f240_0), 0, 62016 }, /* FScc.L #.W,Dn */ +{ CPUFUNC_FF(op_f248_0), 0, 62024 }, /* FDBcc.L #.W,Dn */ +{ CPUFUNC_FF(op_f250_0), 0, 62032 }, /* FScc.L #.W,(An) */ +{ CPUFUNC_FF(op_f258_0), 0, 62040 }, /* FScc.L #.W,(An)+ */ +{ CPUFUNC_FF(op_f260_0), 0, 62048 }, /* FScc.L #.W,-(An) */ +{ CPUFUNC_FF(op_f268_0), 0, 62056 }, /* FScc.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_f270_0), 0, 62064 }, /* FScc.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_f278_0), 0, 62072 }, /* FScc.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_f279_0), 0, 62073 }, /* FScc.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_f27a_0), 0, 62074 }, /* FTRAPcc.L #.W */ +{ CPUFUNC_FF(op_f27b_0), 0, 62075 }, /* FTRAPcc.L #.L */ +{ CPUFUNC_FF(op_f27c_0), 0, 62076 }, /* FTRAPcc.L */ +{ CPUFUNC_FF(op_f280_0), 0, 62080 }, /* FBcc.L #,#.W */ +{ CPUFUNC_FF(op_f2c0_0), 0, 62144 }, /* FBcc.L #,#.L */ +{ CPUFUNC_FF(op_f310_0), 0, 62224 }, /* FSAVE.L (An) */ +{ CPUFUNC_FF(op_f320_0), 0, 62240 }, /* FSAVE.L -(An) */ +{ CPUFUNC_FF(op_f328_0), 0, 62248 }, /* FSAVE.L (d16,An) */ +{ CPUFUNC_FF(op_f330_0), 0, 62256 }, /* FSAVE.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_f338_0), 0, 62264 }, /* FSAVE.L (xxx).W */ +{ CPUFUNC_FF(op_f339_0), 0, 62265 }, /* FSAVE.L (xxx).L */ +{ CPUFUNC_FF(op_f350_0), 0, 62288 }, /* FRESTORE.L (An) */ +{ CPUFUNC_FF(op_f358_0), 0, 62296 }, /* FRESTORE.L (An)+ */ +{ CPUFUNC_FF(op_f368_0), 0, 62312 }, /* FRESTORE.L (d16,An) */ +{ CPUFUNC_FF(op_f370_0), 0, 62320 }, /* FRESTORE.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_f378_0), 0, 62328 }, /* FRESTORE.L (xxx).W */ +{ CPUFUNC_FF(op_f379_0), 0, 62329 }, /* FRESTORE.L (xxx).L */ +{ CPUFUNC_FF(op_f37a_0), 0, 62330 }, /* FRESTORE.L (d16,PC) */ +{ CPUFUNC_FF(op_f37b_0), 0, 62331 }, /* FRESTORE.L (d8,PC,Xn) */ +{ CPUFUNC_FF(op_f408_0), 0, 62472 }, /* CINVL.L #,An */ +{ CPUFUNC_FF(op_f410_0), 0, 62480 }, /* CINVP.L #,An */ +{ CPUFUNC_FF(op_f418_0), 0, 62488 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f419_0), 0, 62489 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f41a_0), 0, 62490 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f41b_0), 0, 62491 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f41c_0), 0, 62492 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f41d_0), 0, 62493 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f41e_0), 0, 62494 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f41f_0), 0, 62495 }, /* CINVA.L # */ +{ CPUFUNC_FF(op_f428_0), 0, 62504 }, /* CPUSHL.L #,An */ +{ CPUFUNC_FF(op_f430_0), 0, 62512 }, /* CPUSHP.L #,An */ +{ CPUFUNC_FF(op_f438_0), 0, 62520 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f439_0), 0, 62521 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f43a_0), 0, 62522 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f43b_0), 0, 62523 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f43c_0), 0, 62524 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f43d_0), 0, 62525 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f43e_0), 0, 62526 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f43f_0), 0, 62527 }, /* CPUSHA.L # */ +{ CPUFUNC_FF(op_f500_0), 0, 62720 }, /* MMUOP.L #,Dn */ +{ CPUFUNC_FF(op_f600_0), 0, 62976 }, /* MOVE16.L (An)+,(xxx).L */ +{ CPUFUNC_FF(op_f608_0), 0, 62984 }, /* MOVE16.L (xxx).L,(An)+ */ +{ CPUFUNC_FF(op_f610_0), 0, 62992 }, /* MOVE16.L (An),(xxx).L */ +{ CPUFUNC_FF(op_f618_0), 0, 63000 }, /* MOVE16.L (xxx).L,(An) */ +{ CPUFUNC_FF(op_f620_0), 0, 63008 }, /* MOVE16.L (An)+,(An)+ */ +{ 0, 0, 0 }}; +struct cputbl CPUFUNC(op_smalltbl_1)[] = { +{ CPUFUNC(op_0_0), 0, 0 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_10_0), 0, 16 }, /* OR.B #.B,(An) */ +{ CPUFUNC(op_18_0), 0, 24 }, /* OR.B #.B,(An)+ */ +{ CPUFUNC(op_20_0), 0, 32 }, /* OR.B #.B,-(An) */ +{ CPUFUNC(op_28_0), 0, 40 }, /* OR.B #.B,(d16,An) */ +{ CPUFUNC(op_30_0), 0, 48 }, /* OR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_38_0), 0, 56 }, /* OR.B #.B,(xxx).W */ +{ CPUFUNC(op_39_0), 0, 57 }, /* OR.B #.B,(xxx).L */ +{ CPUFUNC(op_3c_0), 0, 60 }, /* ORSR.B #.W */ +{ CPUFUNC(op_40_0), 0, 64 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_50_0), 0, 80 }, /* OR.W #.W,(An) */ +{ CPUFUNC(op_58_0), 0, 88 }, /* OR.W #.W,(An)+ */ +{ CPUFUNC(op_60_0), 0, 96 }, /* OR.W #.W,-(An) */ +{ CPUFUNC(op_68_0), 0, 104 }, /* OR.W #.W,(d16,An) */ +{ CPUFUNC(op_70_0), 0, 112 }, /* OR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_78_0), 0, 120 }, /* OR.W #.W,(xxx).W */ +{ CPUFUNC(op_79_0), 0, 121 }, /* OR.W #.W,(xxx).L */ +{ CPUFUNC(op_7c_0), 0, 124 }, /* ORSR.W #.W */ +{ CPUFUNC(op_80_0), 0, 128 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_90_0), 0, 144 }, /* OR.L #.L,(An) */ +{ CPUFUNC(op_98_0), 0, 152 }, /* OR.L #.L,(An)+ */ +{ CPUFUNC(op_a0_0), 0, 160 }, /* OR.L #.L,-(An) */ +{ CPUFUNC(op_a8_0), 0, 168 }, /* OR.L #.L,(d16,An) */ +{ CPUFUNC(op_b0_0), 0, 176 }, /* OR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_b8_0), 0, 184 }, /* OR.L #.L,(xxx).W */ +{ CPUFUNC(op_b9_0), 0, 185 }, /* OR.L #.L,(xxx).L */ +{ CPUFUNC(op_d0_0), 0, 208 }, /* CHK2.B #.W,(An) */ +{ CPUFUNC(op_e8_0), 0, 232 }, /* CHK2.B #.W,(d16,An) */ +{ CPUFUNC(op_f0_0), 0, 240 }, /* CHK2.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_f8_0), 0, 248 }, /* CHK2.B #.W,(xxx).W */ +{ CPUFUNC(op_f9_0), 0, 249 }, /* CHK2.B #.W,(xxx).L */ +{ CPUFUNC(op_fa_0), 0, 250 }, /* CHK2.B #.W,(d16,PC) */ +{ CPUFUNC(op_fb_0), 0, 251 }, /* CHK2.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_100_0), 0, 256 }, /* BTST.L Dn,Dn */ +{ CPUFUNC_FF(op_108_0), 0, 264 }, /* MVPMR.W (d16,An),Dn */ +{ CPUFUNC(op_110_0), 0, 272 }, /* BTST.B Dn,(An) */ +{ CPUFUNC(op_118_0), 0, 280 }, /* BTST.B Dn,(An)+ */ +{ CPUFUNC(op_120_0), 0, 288 }, /* BTST.B Dn,-(An) */ +{ CPUFUNC(op_128_0), 0, 296 }, /* BTST.B Dn,(d16,An) */ +{ CPUFUNC(op_130_0), 0, 304 }, /* BTST.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_138_0), 0, 312 }, /* BTST.B Dn,(xxx).W */ +{ CPUFUNC(op_139_0), 0, 313 }, /* BTST.B Dn,(xxx).L */ +{ CPUFUNC(op_13a_0), 0, 314 }, /* BTST.B Dn,(d16,PC) */ +{ CPUFUNC(op_13b_0), 0, 315 }, /* BTST.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_13c_0), 0, 316 }, /* BTST.B Dn,#.B */ +{ CPUFUNC(op_140_0), 0, 320 }, /* BCHG.L Dn,Dn */ +{ CPUFUNC_FF(op_148_0), 0, 328 }, /* MVPMR.L (d16,An),Dn */ +{ CPUFUNC(op_150_0), 0, 336 }, /* BCHG.B Dn,(An) */ +{ CPUFUNC(op_158_0), 0, 344 }, /* BCHG.B Dn,(An)+ */ +{ CPUFUNC(op_160_0), 0, 352 }, /* BCHG.B Dn,-(An) */ +{ CPUFUNC(op_168_0), 0, 360 }, /* BCHG.B Dn,(d16,An) */ +{ CPUFUNC(op_170_0), 0, 368 }, /* BCHG.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_178_0), 0, 376 }, /* BCHG.B Dn,(xxx).W */ +{ CPUFUNC(op_179_0), 0, 377 }, /* BCHG.B Dn,(xxx).L */ +{ CPUFUNC(op_17a_0), 0, 378 }, /* BCHG.B Dn,(d16,PC) */ +{ CPUFUNC(op_17b_0), 0, 379 }, /* BCHG.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_180_0), 0, 384 }, /* BCLR.L Dn,Dn */ +{ CPUFUNC_FF(op_188_0), 0, 392 }, /* MVPRM.W Dn,(d16,An) */ +{ CPUFUNC(op_190_0), 0, 400 }, /* BCLR.B Dn,(An) */ +{ CPUFUNC(op_198_0), 0, 408 }, /* BCLR.B Dn,(An)+ */ +{ CPUFUNC(op_1a0_0), 0, 416 }, /* BCLR.B Dn,-(An) */ +{ CPUFUNC(op_1a8_0), 0, 424 }, /* BCLR.B Dn,(d16,An) */ +{ CPUFUNC(op_1b0_0), 0, 432 }, /* BCLR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1b8_0), 0, 440 }, /* BCLR.B Dn,(xxx).W */ +{ CPUFUNC(op_1b9_0), 0, 441 }, /* BCLR.B Dn,(xxx).L */ +{ CPUFUNC(op_1ba_0), 0, 442 }, /* BCLR.B Dn,(d16,PC) */ +{ CPUFUNC(op_1bb_0), 0, 443 }, /* BCLR.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_1c0_0), 0, 448 }, /* BSET.L Dn,Dn */ +{ CPUFUNC_FF(op_1c8_0), 0, 456 }, /* MVPRM.L Dn,(d16,An) */ +{ CPUFUNC(op_1d0_0), 0, 464 }, /* BSET.B Dn,(An) */ +{ CPUFUNC(op_1d8_0), 0, 472 }, /* BSET.B Dn,(An)+ */ +{ CPUFUNC(op_1e0_0), 0, 480 }, /* BSET.B Dn,-(An) */ +{ CPUFUNC(op_1e8_0), 0, 488 }, /* BSET.B Dn,(d16,An) */ +{ CPUFUNC(op_1f0_0), 0, 496 }, /* BSET.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1f8_0), 0, 504 }, /* BSET.B Dn,(xxx).W */ +{ CPUFUNC(op_1f9_0), 0, 505 }, /* BSET.B Dn,(xxx).L */ +{ CPUFUNC(op_1fa_0), 0, 506 }, /* BSET.B Dn,(d16,PC) */ +{ CPUFUNC(op_1fb_0), 0, 507 }, /* BSET.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_200_0), 0, 512 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_210_0), 0, 528 }, /* AND.B #.B,(An) */ +{ CPUFUNC(op_218_0), 0, 536 }, /* AND.B #.B,(An)+ */ +{ CPUFUNC(op_220_0), 0, 544 }, /* AND.B #.B,-(An) */ +{ CPUFUNC(op_228_0), 0, 552 }, /* AND.B #.B,(d16,An) */ +{ CPUFUNC(op_230_0), 0, 560 }, /* AND.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_238_0), 0, 568 }, /* AND.B #.B,(xxx).W */ +{ CPUFUNC(op_239_0), 0, 569 }, /* AND.B #.B,(xxx).L */ +{ CPUFUNC(op_23c_0), 0, 572 }, /* ANDSR.B #.W */ +{ CPUFUNC(op_240_0), 0, 576 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_250_0), 0, 592 }, /* AND.W #.W,(An) */ +{ CPUFUNC(op_258_0), 0, 600 }, /* AND.W #.W,(An)+ */ +{ CPUFUNC(op_260_0), 0, 608 }, /* AND.W #.W,-(An) */ +{ CPUFUNC(op_268_0), 0, 616 }, /* AND.W #.W,(d16,An) */ +{ CPUFUNC(op_270_0), 0, 624 }, /* AND.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_278_0), 0, 632 }, /* AND.W #.W,(xxx).W */ +{ CPUFUNC(op_279_0), 0, 633 }, /* AND.W #.W,(xxx).L */ +{ CPUFUNC(op_27c_0), 0, 636 }, /* ANDSR.W #.W */ +{ CPUFUNC(op_280_0), 0, 640 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_290_0), 0, 656 }, /* AND.L #.L,(An) */ +{ CPUFUNC(op_298_0), 0, 664 }, /* AND.L #.L,(An)+ */ +{ CPUFUNC(op_2a0_0), 0, 672 }, /* AND.L #.L,-(An) */ +{ CPUFUNC(op_2a8_0), 0, 680 }, /* AND.L #.L,(d16,An) */ +{ CPUFUNC(op_2b0_0), 0, 688 }, /* AND.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_2b8_0), 0, 696 }, /* AND.L #.L,(xxx).W */ +{ CPUFUNC(op_2b9_0), 0, 697 }, /* AND.L #.L,(xxx).L */ +{ CPUFUNC(op_2d0_0), 0, 720 }, /* CHK2.W #.W,(An) */ +{ CPUFUNC(op_2e8_0), 0, 744 }, /* CHK2.W #.W,(d16,An) */ +{ CPUFUNC(op_2f0_0), 0, 752 }, /* CHK2.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_2f8_0), 0, 760 }, /* CHK2.W #.W,(xxx).W */ +{ CPUFUNC(op_2f9_0), 0, 761 }, /* CHK2.W #.W,(xxx).L */ +{ CPUFUNC(op_2fa_0), 0, 762 }, /* CHK2.W #.W,(d16,PC) */ +{ CPUFUNC(op_2fb_0), 0, 763 }, /* CHK2.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_400_0), 0, 1024 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_410_0), 0, 1040 }, /* SUB.B #.B,(An) */ +{ CPUFUNC(op_418_0), 0, 1048 }, /* SUB.B #.B,(An)+ */ +{ CPUFUNC(op_420_0), 0, 1056 }, /* SUB.B #.B,-(An) */ +{ CPUFUNC(op_428_0), 0, 1064 }, /* SUB.B #.B,(d16,An) */ +{ CPUFUNC(op_430_0), 0, 1072 }, /* SUB.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_438_0), 0, 1080 }, /* SUB.B #.B,(xxx).W */ +{ CPUFUNC(op_439_0), 0, 1081 }, /* SUB.B #.B,(xxx).L */ +{ CPUFUNC(op_440_0), 0, 1088 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_450_0), 0, 1104 }, /* SUB.W #.W,(An) */ +{ CPUFUNC(op_458_0), 0, 1112 }, /* SUB.W #.W,(An)+ */ +{ CPUFUNC(op_460_0), 0, 1120 }, /* SUB.W #.W,-(An) */ +{ CPUFUNC(op_468_0), 0, 1128 }, /* SUB.W #.W,(d16,An) */ +{ CPUFUNC(op_470_0), 0, 1136 }, /* SUB.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_478_0), 0, 1144 }, /* SUB.W #.W,(xxx).W */ +{ CPUFUNC(op_479_0), 0, 1145 }, /* SUB.W #.W,(xxx).L */ +{ CPUFUNC(op_480_0), 0, 1152 }, /* SUB.L #.L,Dn */ +{ CPUFUNC(op_490_0), 0, 1168 }, /* SUB.L #.L,(An) */ +{ CPUFUNC(op_498_0), 0, 1176 }, /* SUB.L #.L,(An)+ */ +{ CPUFUNC(op_4a0_0), 0, 1184 }, /* SUB.L #.L,-(An) */ +{ CPUFUNC(op_4a8_0), 0, 1192 }, /* SUB.L #.L,(d16,An) */ +{ CPUFUNC(op_4b0_0), 0, 1200 }, /* SUB.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_4b8_0), 0, 1208 }, /* SUB.L #.L,(xxx).W */ +{ CPUFUNC(op_4b9_0), 0, 1209 }, /* SUB.L #.L,(xxx).L */ +{ CPUFUNC(op_4d0_0), 0, 1232 }, /* CHK2.L #.W,(An) */ +{ CPUFUNC(op_4e8_0), 0, 1256 }, /* CHK2.L #.W,(d16,An) */ +{ CPUFUNC(op_4f0_0), 0, 1264 }, /* CHK2.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4f8_0), 0, 1272 }, /* CHK2.L #.W,(xxx).W */ +{ CPUFUNC(op_4f9_0), 0, 1273 }, /* CHK2.L #.W,(xxx).L */ +{ CPUFUNC(op_4fa_0), 0, 1274 }, /* CHK2.L #.W,(d16,PC) */ +{ CPUFUNC(op_4fb_0), 0, 1275 }, /* CHK2.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_600_0), 0, 1536 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_610_0), 0, 1552 }, /* ADD.B #.B,(An) */ +{ CPUFUNC(op_618_0), 0, 1560 }, /* ADD.B #.B,(An)+ */ +{ CPUFUNC(op_620_0), 0, 1568 }, /* ADD.B #.B,-(An) */ +{ CPUFUNC(op_628_0), 0, 1576 }, /* ADD.B #.B,(d16,An) */ +{ CPUFUNC(op_630_0), 0, 1584 }, /* ADD.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_638_0), 0, 1592 }, /* ADD.B #.B,(xxx).W */ +{ CPUFUNC(op_639_0), 0, 1593 }, /* ADD.B #.B,(xxx).L */ +{ CPUFUNC(op_640_0), 0, 1600 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_650_0), 0, 1616 }, /* ADD.W #.W,(An) */ +{ CPUFUNC(op_658_0), 0, 1624 }, /* ADD.W #.W,(An)+ */ +{ CPUFUNC(op_660_0), 0, 1632 }, /* ADD.W #.W,-(An) */ +{ CPUFUNC(op_668_0), 0, 1640 }, /* ADD.W #.W,(d16,An) */ +{ CPUFUNC(op_670_0), 0, 1648 }, /* ADD.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_678_0), 0, 1656 }, /* ADD.W #.W,(xxx).W */ +{ CPUFUNC(op_679_0), 0, 1657 }, /* ADD.W #.W,(xxx).L */ +{ CPUFUNC(op_680_0), 0, 1664 }, /* ADD.L #.L,Dn */ +{ CPUFUNC(op_690_0), 0, 1680 }, /* ADD.L #.L,(An) */ +{ CPUFUNC(op_698_0), 0, 1688 }, /* ADD.L #.L,(An)+ */ +{ CPUFUNC(op_6a0_0), 0, 1696 }, /* ADD.L #.L,-(An) */ +{ CPUFUNC(op_6a8_0), 0, 1704 }, /* ADD.L #.L,(d16,An) */ +{ CPUFUNC(op_6b0_0), 0, 1712 }, /* ADD.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_6b8_0), 0, 1720 }, /* ADD.L #.L,(xxx).W */ +{ CPUFUNC(op_6b9_0), 0, 1721 }, /* ADD.L #.L,(xxx).L */ +{ CPUFUNC(op_6c0_0), 0, 1728 }, /* RTM.L Dn */ +{ CPUFUNC(op_6c8_0), 0, 1736 }, /* RTM.L An */ +{ CPUFUNC_FF(op_6d0_0), 0, 1744 }, /* CALLM.L (An) */ +{ CPUFUNC_FF(op_6e8_0), 0, 1768 }, /* CALLM.L (d16,An) */ +{ CPUFUNC_FF(op_6f0_0), 0, 1776 }, /* CALLM.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_6f8_0), 0, 1784 }, /* CALLM.L (xxx).W */ +{ CPUFUNC_FF(op_6f9_0), 0, 1785 }, /* CALLM.L (xxx).L */ +{ CPUFUNC_FF(op_6fa_0), 0, 1786 }, /* CALLM.L (d16,PC) */ +{ CPUFUNC_FF(op_6fb_0), 0, 1787 }, /* CALLM.L (d8,PC,Xn) */ +{ CPUFUNC(op_800_0), 0, 2048 }, /* BTST.L #.W,Dn */ +{ CPUFUNC(op_810_0), 0, 2064 }, /* BTST.B #.W,(An) */ +{ CPUFUNC(op_818_0), 0, 2072 }, /* BTST.B #.W,(An)+ */ +{ CPUFUNC(op_820_0), 0, 2080 }, /* BTST.B #.W,-(An) */ +{ CPUFUNC(op_828_0), 0, 2088 }, /* BTST.B #.W,(d16,An) */ +{ CPUFUNC(op_830_0), 0, 2096 }, /* BTST.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_838_0), 0, 2104 }, /* BTST.B #.W,(xxx).W */ +{ CPUFUNC(op_839_0), 0, 2105 }, /* BTST.B #.W,(xxx).L */ +{ CPUFUNC(op_83a_0), 0, 2106 }, /* BTST.B #.W,(d16,PC) */ +{ CPUFUNC(op_83b_0), 0, 2107 }, /* BTST.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_83c_0), 0, 2108 }, /* BTST.B #.W,#.B */ +{ CPUFUNC(op_840_0), 0, 2112 }, /* BCHG.L #.W,Dn */ +{ CPUFUNC(op_850_0), 0, 2128 }, /* BCHG.B #.W,(An) */ +{ CPUFUNC(op_858_0), 0, 2136 }, /* BCHG.B #.W,(An)+ */ +{ CPUFUNC(op_860_0), 0, 2144 }, /* BCHG.B #.W,-(An) */ +{ CPUFUNC(op_868_0), 0, 2152 }, /* BCHG.B #.W,(d16,An) */ +{ CPUFUNC(op_870_0), 0, 2160 }, /* BCHG.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_878_0), 0, 2168 }, /* BCHG.B #.W,(xxx).W */ +{ CPUFUNC(op_879_0), 0, 2169 }, /* BCHG.B #.W,(xxx).L */ +{ CPUFUNC(op_87a_0), 0, 2170 }, /* BCHG.B #.W,(d16,PC) */ +{ CPUFUNC(op_87b_0), 0, 2171 }, /* BCHG.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_880_0), 0, 2176 }, /* BCLR.L #.W,Dn */ +{ CPUFUNC(op_890_0), 0, 2192 }, /* BCLR.B #.W,(An) */ +{ CPUFUNC(op_898_0), 0, 2200 }, /* BCLR.B #.W,(An)+ */ +{ CPUFUNC(op_8a0_0), 0, 2208 }, /* BCLR.B #.W,-(An) */ +{ CPUFUNC(op_8a8_0), 0, 2216 }, /* BCLR.B #.W,(d16,An) */ +{ CPUFUNC(op_8b0_0), 0, 2224 }, /* BCLR.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8b8_0), 0, 2232 }, /* BCLR.B #.W,(xxx).W */ +{ CPUFUNC(op_8b9_0), 0, 2233 }, /* BCLR.B #.W,(xxx).L */ +{ CPUFUNC(op_8ba_0), 0, 2234 }, /* BCLR.B #.W,(d16,PC) */ +{ CPUFUNC(op_8bb_0), 0, 2235 }, /* BCLR.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_8c0_0), 0, 2240 }, /* BSET.L #.W,Dn */ +{ CPUFUNC(op_8d0_0), 0, 2256 }, /* BSET.B #.W,(An) */ +{ CPUFUNC(op_8d8_0), 0, 2264 }, /* BSET.B #.W,(An)+ */ +{ CPUFUNC(op_8e0_0), 0, 2272 }, /* BSET.B #.W,-(An) */ +{ CPUFUNC(op_8e8_0), 0, 2280 }, /* BSET.B #.W,(d16,An) */ +{ CPUFUNC(op_8f0_0), 0, 2288 }, /* BSET.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8f8_0), 0, 2296 }, /* BSET.B #.W,(xxx).W */ +{ CPUFUNC(op_8f9_0), 0, 2297 }, /* BSET.B #.W,(xxx).L */ +{ CPUFUNC(op_8fa_0), 0, 2298 }, /* BSET.B #.W,(d16,PC) */ +{ CPUFUNC(op_8fb_0), 0, 2299 }, /* BSET.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_a00_0), 0, 2560 }, /* EOR.B #.B,Dn */ +{ CPUFUNC(op_a10_0), 0, 2576 }, /* EOR.B #.B,(An) */ +{ CPUFUNC(op_a18_0), 0, 2584 }, /* EOR.B #.B,(An)+ */ +{ CPUFUNC(op_a20_0), 0, 2592 }, /* EOR.B #.B,-(An) */ +{ CPUFUNC(op_a28_0), 0, 2600 }, /* EOR.B #.B,(d16,An) */ +{ CPUFUNC(op_a30_0), 0, 2608 }, /* EOR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_a38_0), 0, 2616 }, /* EOR.B #.B,(xxx).W */ +{ CPUFUNC(op_a39_0), 0, 2617 }, /* EOR.B #.B,(xxx).L */ +{ CPUFUNC(op_a3c_0), 0, 2620 }, /* EORSR.B #.W */ +{ CPUFUNC(op_a40_0), 0, 2624 }, /* EOR.W #.W,Dn */ +{ CPUFUNC(op_a50_0), 0, 2640 }, /* EOR.W #.W,(An) */ +{ CPUFUNC(op_a58_0), 0, 2648 }, /* EOR.W #.W,(An)+ */ +{ CPUFUNC(op_a60_0), 0, 2656 }, /* EOR.W #.W,-(An) */ +{ CPUFUNC(op_a68_0), 0, 2664 }, /* EOR.W #.W,(d16,An) */ +{ CPUFUNC(op_a70_0), 0, 2672 }, /* EOR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_a78_0), 0, 2680 }, /* EOR.W #.W,(xxx).W */ +{ CPUFUNC(op_a79_0), 0, 2681 }, /* EOR.W #.W,(xxx).L */ +{ CPUFUNC(op_a7c_0), 0, 2684 }, /* EORSR.W #.W */ +{ CPUFUNC(op_a80_0), 0, 2688 }, /* EOR.L #.L,Dn */ +{ CPUFUNC(op_a90_0), 0, 2704 }, /* EOR.L #.L,(An) */ +{ CPUFUNC(op_a98_0), 0, 2712 }, /* EOR.L #.L,(An)+ */ +{ CPUFUNC(op_aa0_0), 0, 2720 }, /* EOR.L #.L,-(An) */ +{ CPUFUNC(op_aa8_0), 0, 2728 }, /* EOR.L #.L,(d16,An) */ +{ CPUFUNC(op_ab0_0), 0, 2736 }, /* EOR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_ab8_0), 0, 2744 }, /* EOR.L #.L,(xxx).W */ +{ CPUFUNC(op_ab9_0), 0, 2745 }, /* EOR.L #.L,(xxx).L */ +{ CPUFUNC(op_ad0_0), 0, 2768 }, /* CAS.B #.W,(An) */ +{ CPUFUNC(op_ad8_0), 0, 2776 }, /* CAS.B #.W,(An)+ */ +{ CPUFUNC(op_ae0_0), 0, 2784 }, /* CAS.B #.W,-(An) */ +{ CPUFUNC(op_ae8_0), 0, 2792 }, /* CAS.B #.W,(d16,An) */ +{ CPUFUNC(op_af0_0), 0, 2800 }, /* CAS.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_af8_0), 0, 2808 }, /* CAS.B #.W,(xxx).W */ +{ CPUFUNC(op_af9_0), 0, 2809 }, /* CAS.B #.W,(xxx).L */ +{ CPUFUNC(op_c00_0), 0, 3072 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_c10_0), 0, 3088 }, /* CMP.B #.B,(An) */ +{ CPUFUNC(op_c18_0), 0, 3096 }, /* CMP.B #.B,(An)+ */ +{ CPUFUNC(op_c20_0), 0, 3104 }, /* CMP.B #.B,-(An) */ +{ CPUFUNC(op_c28_0), 0, 3112 }, /* CMP.B #.B,(d16,An) */ +{ CPUFUNC(op_c30_0), 0, 3120 }, /* CMP.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_c38_0), 0, 3128 }, /* CMP.B #.B,(xxx).W */ +{ CPUFUNC(op_c39_0), 0, 3129 }, /* CMP.B #.B,(xxx).L */ +{ CPUFUNC(op_c3a_0), 0, 3130 }, /* CMP.B #.B,(d16,PC) */ +{ CPUFUNC(op_c3b_0), 0, 3131 }, /* CMP.B #.B,(d8,PC,Xn) */ +{ CPUFUNC(op_c40_0), 0, 3136 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_c50_0), 0, 3152 }, /* CMP.W #.W,(An) */ +{ CPUFUNC(op_c58_0), 0, 3160 }, /* CMP.W #.W,(An)+ */ +{ CPUFUNC(op_c60_0), 0, 3168 }, /* CMP.W #.W,-(An) */ +{ CPUFUNC(op_c68_0), 0, 3176 }, /* CMP.W #.W,(d16,An) */ +{ CPUFUNC(op_c70_0), 0, 3184 }, /* CMP.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_c78_0), 0, 3192 }, /* CMP.W #.W,(xxx).W */ +{ CPUFUNC(op_c79_0), 0, 3193 }, /* CMP.W #.W,(xxx).L */ +{ CPUFUNC(op_c7a_0), 0, 3194 }, /* CMP.W #.W,(d16,PC) */ +{ CPUFUNC(op_c7b_0), 0, 3195 }, /* CMP.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_c80_0), 0, 3200 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_c90_0), 0, 3216 }, /* CMP.L #.L,(An) */ +{ CPUFUNC(op_c98_0), 0, 3224 }, /* CMP.L #.L,(An)+ */ +{ CPUFUNC(op_ca0_0), 0, 3232 }, /* CMP.L #.L,-(An) */ +{ CPUFUNC(op_ca8_0), 0, 3240 }, /* CMP.L #.L,(d16,An) */ +{ CPUFUNC(op_cb0_0), 0, 3248 }, /* CMP.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_cb8_0), 0, 3256 }, /* CMP.L #.L,(xxx).W */ +{ CPUFUNC(op_cb9_0), 0, 3257 }, /* CMP.L #.L,(xxx).L */ +{ CPUFUNC(op_cba_0), 0, 3258 }, /* CMP.L #.L,(d16,PC) */ +{ CPUFUNC(op_cbb_0), 0, 3259 }, /* CMP.L #.L,(d8,PC,Xn) */ +{ CPUFUNC(op_cd0_0), 0, 3280 }, /* CAS.W #.W,(An) */ +{ CPUFUNC(op_cd8_0), 0, 3288 }, /* CAS.W #.W,(An)+ */ +{ CPUFUNC(op_ce0_0), 0, 3296 }, /* CAS.W #.W,-(An) */ +{ CPUFUNC(op_ce8_0), 0, 3304 }, /* CAS.W #.W,(d16,An) */ +{ CPUFUNC(op_cf0_0), 0, 3312 }, /* CAS.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_cf8_0), 0, 3320 }, /* CAS.W #.W,(xxx).W */ +{ CPUFUNC(op_cf9_0), 0, 3321 }, /* CAS.W #.W,(xxx).L */ +{ CPUFUNC(op_cfc_0), 0, 3324 }, /* CAS2.W #.L */ +{ CPUFUNC_FF(op_e10_0), 0, 3600 }, /* MOVES.B #.W,(An) */ +{ CPUFUNC_FF(op_e18_0), 0, 3608 }, /* MOVES.B #.W,(An)+ */ +{ CPUFUNC_FF(op_e20_0), 0, 3616 }, /* MOVES.B #.W,-(An) */ +{ CPUFUNC_FF(op_e28_0), 0, 3624 }, /* MOVES.B #.W,(d16,An) */ +{ CPUFUNC_FF(op_e30_0), 0, 3632 }, /* MOVES.B #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_e38_0), 0, 3640 }, /* MOVES.B #.W,(xxx).W */ +{ CPUFUNC_FF(op_e39_0), 0, 3641 }, /* MOVES.B #.W,(xxx).L */ +{ CPUFUNC_FF(op_e50_0), 0, 3664 }, /* MOVES.W #.W,(An) */ +{ CPUFUNC_FF(op_e58_0), 0, 3672 }, /* MOVES.W #.W,(An)+ */ +{ CPUFUNC_FF(op_e60_0), 0, 3680 }, /* MOVES.W #.W,-(An) */ +{ CPUFUNC_FF(op_e68_0), 0, 3688 }, /* MOVES.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_e70_0), 0, 3696 }, /* MOVES.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_e78_0), 0, 3704 }, /* MOVES.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_e79_0), 0, 3705 }, /* MOVES.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_e90_0), 0, 3728 }, /* MOVES.L #.W,(An) */ +{ CPUFUNC_FF(op_e98_0), 0, 3736 }, /* MOVES.L #.W,(An)+ */ +{ CPUFUNC_FF(op_ea0_0), 0, 3744 }, /* MOVES.L #.W,-(An) */ +{ CPUFUNC_FF(op_ea8_0), 0, 3752 }, /* MOVES.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_eb0_0), 0, 3760 }, /* MOVES.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_eb8_0), 0, 3768 }, /* MOVES.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_eb9_0), 0, 3769 }, /* MOVES.L #.W,(xxx).L */ +{ CPUFUNC(op_ed0_0), 0, 3792 }, /* CAS.L #.W,(An) */ +{ CPUFUNC(op_ed8_0), 0, 3800 }, /* CAS.L #.W,(An)+ */ +{ CPUFUNC(op_ee0_0), 0, 3808 }, /* CAS.L #.W,-(An) */ +{ CPUFUNC(op_ee8_0), 0, 3816 }, /* CAS.L #.W,(d16,An) */ +{ CPUFUNC(op_ef0_0), 0, 3824 }, /* CAS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ef8_0), 0, 3832 }, /* CAS.L #.W,(xxx).W */ +{ CPUFUNC(op_ef9_0), 0, 3833 }, /* CAS.L #.W,(xxx).L */ +{ CPUFUNC(op_efc_0), 0, 3836 }, /* CAS2.L #.L */ +{ CPUFUNC(op_1000_0), 0, 4096 }, /* MOVE.B Dn,Dn */ +{ CPUFUNC(op_1010_0), 0, 4112 }, /* MOVE.B (An),Dn */ +{ CPUFUNC(op_1018_0), 0, 4120 }, /* MOVE.B (An)+,Dn */ +{ CPUFUNC(op_1020_0), 0, 4128 }, /* MOVE.B -(An),Dn */ +{ CPUFUNC(op_1028_0), 0, 4136 }, /* MOVE.B (d16,An),Dn */ +{ CPUFUNC(op_1030_0), 0, 4144 }, /* MOVE.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_1038_0), 0, 4152 }, /* MOVE.B (xxx).W,Dn */ +{ CPUFUNC(op_1039_0), 0, 4153 }, /* MOVE.B (xxx).L,Dn */ +{ CPUFUNC(op_103a_0), 0, 4154 }, /* MOVE.B (d16,PC),Dn */ +{ CPUFUNC(op_103b_0), 0, 4155 }, /* MOVE.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_103c_0), 0, 4156 }, /* MOVE.B #.B,Dn */ +{ CPUFUNC(op_1080_0), 0, 4224 }, /* MOVE.B Dn,(An) */ +{ CPUFUNC(op_1090_0), 0, 4240 }, /* MOVE.B (An),(An) */ +{ CPUFUNC(op_1098_0), 0, 4248 }, /* MOVE.B (An)+,(An) */ +{ CPUFUNC(op_10a0_0), 0, 4256 }, /* MOVE.B -(An),(An) */ +{ CPUFUNC(op_10a8_0), 0, 4264 }, /* MOVE.B (d16,An),(An) */ +{ CPUFUNC(op_10b0_0), 0, 4272 }, /* MOVE.B (d8,An,Xn),(An) */ +{ CPUFUNC(op_10b8_0), 0, 4280 }, /* MOVE.B (xxx).W,(An) */ +{ CPUFUNC(op_10b9_0), 0, 4281 }, /* MOVE.B (xxx).L,(An) */ +{ CPUFUNC(op_10ba_0), 0, 4282 }, /* MOVE.B (d16,PC),(An) */ +{ CPUFUNC(op_10bb_0), 0, 4283 }, /* MOVE.B (d8,PC,Xn),(An) */ +{ CPUFUNC(op_10bc_0), 0, 4284 }, /* MOVE.B #.B,(An) */ +{ CPUFUNC(op_10c0_0), 0, 4288 }, /* MOVE.B Dn,(An)+ */ +{ CPUFUNC(op_10d0_0), 0, 4304 }, /* MOVE.B (An),(An)+ */ +{ CPUFUNC(op_10d8_0), 0, 4312 }, /* MOVE.B (An)+,(An)+ */ +{ CPUFUNC(op_10e0_0), 0, 4320 }, /* MOVE.B -(An),(An)+ */ +{ CPUFUNC(op_10e8_0), 0, 4328 }, /* MOVE.B (d16,An),(An)+ */ +{ CPUFUNC(op_10f0_0), 0, 4336 }, /* MOVE.B (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_10f8_0), 0, 4344 }, /* MOVE.B (xxx).W,(An)+ */ +{ CPUFUNC(op_10f9_0), 0, 4345 }, /* MOVE.B (xxx).L,(An)+ */ +{ CPUFUNC(op_10fa_0), 0, 4346 }, /* MOVE.B (d16,PC),(An)+ */ +{ CPUFUNC(op_10fb_0), 0, 4347 }, /* MOVE.B (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_10fc_0), 0, 4348 }, /* MOVE.B #.B,(An)+ */ +{ CPUFUNC(op_1100_0), 0, 4352 }, /* MOVE.B Dn,-(An) */ +{ CPUFUNC(op_1110_0), 0, 4368 }, /* MOVE.B (An),-(An) */ +{ CPUFUNC(op_1118_0), 0, 4376 }, /* MOVE.B (An)+,-(An) */ +{ CPUFUNC(op_1120_0), 0, 4384 }, /* MOVE.B -(An),-(An) */ +{ CPUFUNC(op_1128_0), 0, 4392 }, /* MOVE.B (d16,An),-(An) */ +{ CPUFUNC(op_1130_0), 0, 4400 }, /* MOVE.B (d8,An,Xn),-(An) */ +{ CPUFUNC(op_1138_0), 0, 4408 }, /* MOVE.B (xxx).W,-(An) */ +{ CPUFUNC(op_1139_0), 0, 4409 }, /* MOVE.B (xxx).L,-(An) */ +{ CPUFUNC(op_113a_0), 0, 4410 }, /* MOVE.B (d16,PC),-(An) */ +{ CPUFUNC(op_113b_0), 0, 4411 }, /* MOVE.B (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_113c_0), 0, 4412 }, /* MOVE.B #.B,-(An) */ +{ CPUFUNC(op_1140_0), 0, 4416 }, /* MOVE.B Dn,(d16,An) */ +{ CPUFUNC(op_1150_0), 0, 4432 }, /* MOVE.B (An),(d16,An) */ +{ CPUFUNC(op_1158_0), 0, 4440 }, /* MOVE.B (An)+,(d16,An) */ +{ CPUFUNC(op_1160_0), 0, 4448 }, /* MOVE.B -(An),(d16,An) */ +{ CPUFUNC(op_1168_0), 0, 4456 }, /* MOVE.B (d16,An),(d16,An) */ +{ CPUFUNC(op_1170_0), 0, 4464 }, /* MOVE.B (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_1178_0), 0, 4472 }, /* MOVE.B (xxx).W,(d16,An) */ +{ CPUFUNC(op_1179_0), 0, 4473 }, /* MOVE.B (xxx).L,(d16,An) */ +{ CPUFUNC(op_117a_0), 0, 4474 }, /* MOVE.B (d16,PC),(d16,An) */ +{ CPUFUNC(op_117b_0), 0, 4475 }, /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_117c_0), 0, 4476 }, /* MOVE.B #.B,(d16,An) */ +{ CPUFUNC(op_1180_0), 0, 4480 }, /* MOVE.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1190_0), 0, 4496 }, /* MOVE.B (An),(d8,An,Xn) */ +{ CPUFUNC(op_1198_0), 0, 4504 }, /* MOVE.B (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_11a0_0), 0, 4512 }, /* MOVE.B -(An),(d8,An,Xn) */ +{ CPUFUNC(op_11a8_0), 0, 4520 }, /* MOVE.B (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_11b0_0), 0, 4528 }, /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11b8_0), 0, 4536 }, /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_11b9_0), 0, 4537 }, /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_11ba_0), 0, 4538 }, /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_11bb_0), 0, 4539 }, /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11bc_0), 0, 4540 }, /* MOVE.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_11c0_0), 0, 4544 }, /* MOVE.B Dn,(xxx).W */ +{ CPUFUNC(op_11d0_0), 0, 4560 }, /* MOVE.B (An),(xxx).W */ +{ CPUFUNC(op_11d8_0), 0, 4568 }, /* MOVE.B (An)+,(xxx).W */ +{ CPUFUNC(op_11e0_0), 0, 4576 }, /* MOVE.B -(An),(xxx).W */ +{ CPUFUNC(op_11e8_0), 0, 4584 }, /* MOVE.B (d16,An),(xxx).W */ +{ CPUFUNC(op_11f0_0), 0, 4592 }, /* MOVE.B (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_11f8_0), 0, 4600 }, /* MOVE.B (xxx).W,(xxx).W */ +{ CPUFUNC(op_11f9_0), 0, 4601 }, /* MOVE.B (xxx).L,(xxx).W */ +{ CPUFUNC(op_11fa_0), 0, 4602 }, /* MOVE.B (d16,PC),(xxx).W */ +{ CPUFUNC(op_11fb_0), 0, 4603 }, /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_11fc_0), 0, 4604 }, /* MOVE.B #.B,(xxx).W */ +{ CPUFUNC(op_13c0_0), 0, 5056 }, /* MOVE.B Dn,(xxx).L */ +{ CPUFUNC(op_13d0_0), 0, 5072 }, /* MOVE.B (An),(xxx).L */ +{ CPUFUNC(op_13d8_0), 0, 5080 }, /* MOVE.B (An)+,(xxx).L */ +{ CPUFUNC(op_13e0_0), 0, 5088 }, /* MOVE.B -(An),(xxx).L */ +{ CPUFUNC(op_13e8_0), 0, 5096 }, /* MOVE.B (d16,An),(xxx).L */ +{ CPUFUNC(op_13f0_0), 0, 5104 }, /* MOVE.B (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_13f8_0), 0, 5112 }, /* MOVE.B (xxx).W,(xxx).L */ +{ CPUFUNC(op_13f9_0), 0, 5113 }, /* MOVE.B (xxx).L,(xxx).L */ +{ CPUFUNC(op_13fa_0), 0, 5114 }, /* MOVE.B (d16,PC),(xxx).L */ +{ CPUFUNC(op_13fb_0), 0, 5115 }, /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_13fc_0), 0, 5116 }, /* MOVE.B #.B,(xxx).L */ +{ CPUFUNC(op_2000_0), 0, 8192 }, /* MOVE.L Dn,Dn */ +{ CPUFUNC(op_2008_0), 0, 8200 }, /* MOVE.L An,Dn */ +{ CPUFUNC(op_2010_0), 0, 8208 }, /* MOVE.L (An),Dn */ +{ CPUFUNC(op_2018_0), 0, 8216 }, /* MOVE.L (An)+,Dn */ +{ CPUFUNC(op_2020_0), 0, 8224 }, /* MOVE.L -(An),Dn */ +{ CPUFUNC(op_2028_0), 0, 8232 }, /* MOVE.L (d16,An),Dn */ +{ CPUFUNC(op_2030_0), 0, 8240 }, /* MOVE.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_2038_0), 0, 8248 }, /* MOVE.L (xxx).W,Dn */ +{ CPUFUNC(op_2039_0), 0, 8249 }, /* MOVE.L (xxx).L,Dn */ +{ CPUFUNC(op_203a_0), 0, 8250 }, /* MOVE.L (d16,PC),Dn */ +{ CPUFUNC(op_203b_0), 0, 8251 }, /* MOVE.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_203c_0), 0, 8252 }, /* MOVE.L #.L,Dn */ +{ CPUFUNC_FF(op_2040_0), 0, 8256 }, /* MOVEA.L Dn,An */ +{ CPUFUNC_FF(op_2048_0), 0, 8264 }, /* MOVEA.L An,An */ +{ CPUFUNC_FF(op_2050_0), 0, 8272 }, /* MOVEA.L (An),An */ +{ CPUFUNC_FF(op_2058_0), 0, 8280 }, /* MOVEA.L (An)+,An */ +{ CPUFUNC_FF(op_2060_0), 0, 8288 }, /* MOVEA.L -(An),An */ +{ CPUFUNC_FF(op_2068_0), 0, 8296 }, /* MOVEA.L (d16,An),An */ +{ CPUFUNC_FF(op_2070_0), 0, 8304 }, /* MOVEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_2078_0), 0, 8312 }, /* MOVEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_2079_0), 0, 8313 }, /* MOVEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_207a_0), 0, 8314 }, /* MOVEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_207b_0), 0, 8315 }, /* MOVEA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_207c_0), 0, 8316 }, /* MOVEA.L #.L,An */ +{ CPUFUNC(op_2080_0), 0, 8320 }, /* MOVE.L Dn,(An) */ +{ CPUFUNC(op_2088_0), 0, 8328 }, /* MOVE.L An,(An) */ +{ CPUFUNC(op_2090_0), 0, 8336 }, /* MOVE.L (An),(An) */ +{ CPUFUNC(op_2098_0), 0, 8344 }, /* MOVE.L (An)+,(An) */ +{ CPUFUNC(op_20a0_0), 0, 8352 }, /* MOVE.L -(An),(An) */ +{ CPUFUNC(op_20a8_0), 0, 8360 }, /* MOVE.L (d16,An),(An) */ +{ CPUFUNC(op_20b0_0), 0, 8368 }, /* MOVE.L (d8,An,Xn),(An) */ +{ CPUFUNC(op_20b8_0), 0, 8376 }, /* MOVE.L (xxx).W,(An) */ +{ CPUFUNC(op_20b9_0), 0, 8377 }, /* MOVE.L (xxx).L,(An) */ +{ CPUFUNC(op_20ba_0), 0, 8378 }, /* MOVE.L (d16,PC),(An) */ +{ CPUFUNC(op_20bb_0), 0, 8379 }, /* MOVE.L (d8,PC,Xn),(An) */ +{ CPUFUNC(op_20bc_0), 0, 8380 }, /* MOVE.L #.L,(An) */ +{ CPUFUNC(op_20c0_0), 0, 8384 }, /* MOVE.L Dn,(An)+ */ +{ CPUFUNC(op_20c8_0), 0, 8392 }, /* MOVE.L An,(An)+ */ +{ CPUFUNC(op_20d0_0), 0, 8400 }, /* MOVE.L (An),(An)+ */ +{ CPUFUNC(op_20d8_0), 0, 8408 }, /* MOVE.L (An)+,(An)+ */ +{ CPUFUNC(op_20e0_0), 0, 8416 }, /* MOVE.L -(An),(An)+ */ +{ CPUFUNC(op_20e8_0), 0, 8424 }, /* MOVE.L (d16,An),(An)+ */ +{ CPUFUNC(op_20f0_0), 0, 8432 }, /* MOVE.L (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_20f8_0), 0, 8440 }, /* MOVE.L (xxx).W,(An)+ */ +{ CPUFUNC(op_20f9_0), 0, 8441 }, /* MOVE.L (xxx).L,(An)+ */ +{ CPUFUNC(op_20fa_0), 0, 8442 }, /* MOVE.L (d16,PC),(An)+ */ +{ CPUFUNC(op_20fb_0), 0, 8443 }, /* MOVE.L (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_20fc_0), 0, 8444 }, /* MOVE.L #.L,(An)+ */ +{ CPUFUNC(op_2100_0), 0, 8448 }, /* MOVE.L Dn,-(An) */ +{ CPUFUNC(op_2108_0), 0, 8456 }, /* MOVE.L An,-(An) */ +{ CPUFUNC(op_2110_0), 0, 8464 }, /* MOVE.L (An),-(An) */ +{ CPUFUNC(op_2118_0), 0, 8472 }, /* MOVE.L (An)+,-(An) */ +{ CPUFUNC(op_2120_0), 0, 8480 }, /* MOVE.L -(An),-(An) */ +{ CPUFUNC(op_2128_0), 0, 8488 }, /* MOVE.L (d16,An),-(An) */ +{ CPUFUNC(op_2130_0), 0, 8496 }, /* MOVE.L (d8,An,Xn),-(An) */ +{ CPUFUNC(op_2138_0), 0, 8504 }, /* MOVE.L (xxx).W,-(An) */ +{ CPUFUNC(op_2139_0), 0, 8505 }, /* MOVE.L (xxx).L,-(An) */ +{ CPUFUNC(op_213a_0), 0, 8506 }, /* MOVE.L (d16,PC),-(An) */ +{ CPUFUNC(op_213b_0), 0, 8507 }, /* MOVE.L (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_213c_0), 0, 8508 }, /* MOVE.L #.L,-(An) */ +{ CPUFUNC(op_2140_0), 0, 8512 }, /* MOVE.L Dn,(d16,An) */ +{ CPUFUNC(op_2148_0), 0, 8520 }, /* MOVE.L An,(d16,An) */ +{ CPUFUNC(op_2150_0), 0, 8528 }, /* MOVE.L (An),(d16,An) */ +{ CPUFUNC(op_2158_0), 0, 8536 }, /* MOVE.L (An)+,(d16,An) */ +{ CPUFUNC(op_2160_0), 0, 8544 }, /* MOVE.L -(An),(d16,An) */ +{ CPUFUNC(op_2168_0), 0, 8552 }, /* MOVE.L (d16,An),(d16,An) */ +{ CPUFUNC(op_2170_0), 0, 8560 }, /* MOVE.L (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_2178_0), 0, 8568 }, /* MOVE.L (xxx).W,(d16,An) */ +{ CPUFUNC(op_2179_0), 0, 8569 }, /* MOVE.L (xxx).L,(d16,An) */ +{ CPUFUNC(op_217a_0), 0, 8570 }, /* MOVE.L (d16,PC),(d16,An) */ +{ CPUFUNC(op_217b_0), 0, 8571 }, /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_217c_0), 0, 8572 }, /* MOVE.L #.L,(d16,An) */ +{ CPUFUNC(op_2180_0), 0, 8576 }, /* MOVE.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_2188_0), 0, 8584 }, /* MOVE.L An,(d8,An,Xn) */ +{ CPUFUNC(op_2190_0), 0, 8592 }, /* MOVE.L (An),(d8,An,Xn) */ +{ CPUFUNC(op_2198_0), 0, 8600 }, /* MOVE.L (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_21a0_0), 0, 8608 }, /* MOVE.L -(An),(d8,An,Xn) */ +{ CPUFUNC(op_21a8_0), 0, 8616 }, /* MOVE.L (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_21b0_0), 0, 8624 }, /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21b8_0), 0, 8632 }, /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_21b9_0), 0, 8633 }, /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_21ba_0), 0, 8634 }, /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_21bb_0), 0, 8635 }, /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21bc_0), 0, 8636 }, /* MOVE.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_21c0_0), 0, 8640 }, /* MOVE.L Dn,(xxx).W */ +{ CPUFUNC(op_21c8_0), 0, 8648 }, /* MOVE.L An,(xxx).W */ +{ CPUFUNC(op_21d0_0), 0, 8656 }, /* MOVE.L (An),(xxx).W */ +{ CPUFUNC(op_21d8_0), 0, 8664 }, /* MOVE.L (An)+,(xxx).W */ +{ CPUFUNC(op_21e0_0), 0, 8672 }, /* MOVE.L -(An),(xxx).W */ +{ CPUFUNC(op_21e8_0), 0, 8680 }, /* MOVE.L (d16,An),(xxx).W */ +{ CPUFUNC(op_21f0_0), 0, 8688 }, /* MOVE.L (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_21f8_0), 0, 8696 }, /* MOVE.L (xxx).W,(xxx).W */ +{ CPUFUNC(op_21f9_0), 0, 8697 }, /* MOVE.L (xxx).L,(xxx).W */ +{ CPUFUNC(op_21fa_0), 0, 8698 }, /* MOVE.L (d16,PC),(xxx).W */ +{ CPUFUNC(op_21fb_0), 0, 8699 }, /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_21fc_0), 0, 8700 }, /* MOVE.L #.L,(xxx).W */ +{ CPUFUNC(op_23c0_0), 0, 9152 }, /* MOVE.L Dn,(xxx).L */ +{ CPUFUNC(op_23c8_0), 0, 9160 }, /* MOVE.L An,(xxx).L */ +{ CPUFUNC(op_23d0_0), 0, 9168 }, /* MOVE.L (An),(xxx).L */ +{ CPUFUNC(op_23d8_0), 0, 9176 }, /* MOVE.L (An)+,(xxx).L */ +{ CPUFUNC(op_23e0_0), 0, 9184 }, /* MOVE.L -(An),(xxx).L */ +{ CPUFUNC(op_23e8_0), 0, 9192 }, /* MOVE.L (d16,An),(xxx).L */ +{ CPUFUNC(op_23f0_0), 0, 9200 }, /* MOVE.L (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_23f8_0), 0, 9208 }, /* MOVE.L (xxx).W,(xxx).L */ +{ CPUFUNC(op_23f9_0), 0, 9209 }, /* MOVE.L (xxx).L,(xxx).L */ +{ CPUFUNC(op_23fa_0), 0, 9210 }, /* MOVE.L (d16,PC),(xxx).L */ +{ CPUFUNC(op_23fb_0), 0, 9211 }, /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_23fc_0), 0, 9212 }, /* MOVE.L #.L,(xxx).L */ +{ CPUFUNC(op_3000_0), 0, 12288 }, /* MOVE.W Dn,Dn */ +{ CPUFUNC(op_3008_0), 0, 12296 }, /* MOVE.W An,Dn */ +{ CPUFUNC(op_3010_0), 0, 12304 }, /* MOVE.W (An),Dn */ +{ CPUFUNC(op_3018_0), 0, 12312 }, /* MOVE.W (An)+,Dn */ +{ CPUFUNC(op_3020_0), 0, 12320 }, /* MOVE.W -(An),Dn */ +{ CPUFUNC(op_3028_0), 0, 12328 }, /* MOVE.W (d16,An),Dn */ +{ CPUFUNC(op_3030_0), 0, 12336 }, /* MOVE.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_3038_0), 0, 12344 }, /* MOVE.W (xxx).W,Dn */ +{ CPUFUNC(op_3039_0), 0, 12345 }, /* MOVE.W (xxx).L,Dn */ +{ CPUFUNC(op_303a_0), 0, 12346 }, /* MOVE.W (d16,PC),Dn */ +{ CPUFUNC(op_303b_0), 0, 12347 }, /* MOVE.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_303c_0), 0, 12348 }, /* MOVE.W #.W,Dn */ +{ CPUFUNC_FF(op_3040_0), 0, 12352 }, /* MOVEA.W Dn,An */ +{ CPUFUNC_FF(op_3048_0), 0, 12360 }, /* MOVEA.W An,An */ +{ CPUFUNC_FF(op_3050_0), 0, 12368 }, /* MOVEA.W (An),An */ +{ CPUFUNC_FF(op_3058_0), 0, 12376 }, /* MOVEA.W (An)+,An */ +{ CPUFUNC_FF(op_3060_0), 0, 12384 }, /* MOVEA.W -(An),An */ +{ CPUFUNC_FF(op_3068_0), 0, 12392 }, /* MOVEA.W (d16,An),An */ +{ CPUFUNC_FF(op_3070_0), 0, 12400 }, /* MOVEA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_3078_0), 0, 12408 }, /* MOVEA.W (xxx).W,An */ +{ CPUFUNC_FF(op_3079_0), 0, 12409 }, /* MOVEA.W (xxx).L,An */ +{ CPUFUNC_FF(op_307a_0), 0, 12410 }, /* MOVEA.W (d16,PC),An */ +{ CPUFUNC_FF(op_307b_0), 0, 12411 }, /* MOVEA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_307c_0), 0, 12412 }, /* MOVEA.W #.W,An */ +{ CPUFUNC(op_3080_0), 0, 12416 }, /* MOVE.W Dn,(An) */ +{ CPUFUNC(op_3088_0), 0, 12424 }, /* MOVE.W An,(An) */ +{ CPUFUNC(op_3090_0), 0, 12432 }, /* MOVE.W (An),(An) */ +{ CPUFUNC(op_3098_0), 0, 12440 }, /* MOVE.W (An)+,(An) */ +{ CPUFUNC(op_30a0_0), 0, 12448 }, /* MOVE.W -(An),(An) */ +{ CPUFUNC(op_30a8_0), 0, 12456 }, /* MOVE.W (d16,An),(An) */ +{ CPUFUNC(op_30b0_0), 0, 12464 }, /* MOVE.W (d8,An,Xn),(An) */ +{ CPUFUNC(op_30b8_0), 0, 12472 }, /* MOVE.W (xxx).W,(An) */ +{ CPUFUNC(op_30b9_0), 0, 12473 }, /* MOVE.W (xxx).L,(An) */ +{ CPUFUNC(op_30ba_0), 0, 12474 }, /* MOVE.W (d16,PC),(An) */ +{ CPUFUNC(op_30bb_0), 0, 12475 }, /* MOVE.W (d8,PC,Xn),(An) */ +{ CPUFUNC(op_30bc_0), 0, 12476 }, /* MOVE.W #.W,(An) */ +{ CPUFUNC(op_30c0_0), 0, 12480 }, /* MOVE.W Dn,(An)+ */ +{ CPUFUNC(op_30c8_0), 0, 12488 }, /* MOVE.W An,(An)+ */ +{ CPUFUNC(op_30d0_0), 0, 12496 }, /* MOVE.W (An),(An)+ */ +{ CPUFUNC(op_30d8_0), 0, 12504 }, /* MOVE.W (An)+,(An)+ */ +{ CPUFUNC(op_30e0_0), 0, 12512 }, /* MOVE.W -(An),(An)+ */ +{ CPUFUNC(op_30e8_0), 0, 12520 }, /* MOVE.W (d16,An),(An)+ */ +{ CPUFUNC(op_30f0_0), 0, 12528 }, /* MOVE.W (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_30f8_0), 0, 12536 }, /* MOVE.W (xxx).W,(An)+ */ +{ CPUFUNC(op_30f9_0), 0, 12537 }, /* MOVE.W (xxx).L,(An)+ */ +{ CPUFUNC(op_30fa_0), 0, 12538 }, /* MOVE.W (d16,PC),(An)+ */ +{ CPUFUNC(op_30fb_0), 0, 12539 }, /* MOVE.W (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_30fc_0), 0, 12540 }, /* MOVE.W #.W,(An)+ */ +{ CPUFUNC(op_3100_0), 0, 12544 }, /* MOVE.W Dn,-(An) */ +{ CPUFUNC(op_3108_0), 0, 12552 }, /* MOVE.W An,-(An) */ +{ CPUFUNC(op_3110_0), 0, 12560 }, /* MOVE.W (An),-(An) */ +{ CPUFUNC(op_3118_0), 0, 12568 }, /* MOVE.W (An)+,-(An) */ +{ CPUFUNC(op_3120_0), 0, 12576 }, /* MOVE.W -(An),-(An) */ +{ CPUFUNC(op_3128_0), 0, 12584 }, /* MOVE.W (d16,An),-(An) */ +{ CPUFUNC(op_3130_0), 0, 12592 }, /* MOVE.W (d8,An,Xn),-(An) */ +{ CPUFUNC(op_3138_0), 0, 12600 }, /* MOVE.W (xxx).W,-(An) */ +{ CPUFUNC(op_3139_0), 0, 12601 }, /* MOVE.W (xxx).L,-(An) */ +{ CPUFUNC(op_313a_0), 0, 12602 }, /* MOVE.W (d16,PC),-(An) */ +{ CPUFUNC(op_313b_0), 0, 12603 }, /* MOVE.W (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_313c_0), 0, 12604 }, /* MOVE.W #.W,-(An) */ +{ CPUFUNC(op_3140_0), 0, 12608 }, /* MOVE.W Dn,(d16,An) */ +{ CPUFUNC(op_3148_0), 0, 12616 }, /* MOVE.W An,(d16,An) */ +{ CPUFUNC(op_3150_0), 0, 12624 }, /* MOVE.W (An),(d16,An) */ +{ CPUFUNC(op_3158_0), 0, 12632 }, /* MOVE.W (An)+,(d16,An) */ +{ CPUFUNC(op_3160_0), 0, 12640 }, /* MOVE.W -(An),(d16,An) */ +{ CPUFUNC(op_3168_0), 0, 12648 }, /* MOVE.W (d16,An),(d16,An) */ +{ CPUFUNC(op_3170_0), 0, 12656 }, /* MOVE.W (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_3178_0), 0, 12664 }, /* MOVE.W (xxx).W,(d16,An) */ +{ CPUFUNC(op_3179_0), 0, 12665 }, /* MOVE.W (xxx).L,(d16,An) */ +{ CPUFUNC(op_317a_0), 0, 12666 }, /* MOVE.W (d16,PC),(d16,An) */ +{ CPUFUNC(op_317b_0), 0, 12667 }, /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_317c_0), 0, 12668 }, /* MOVE.W #.W,(d16,An) */ +{ CPUFUNC(op_3180_0), 0, 12672 }, /* MOVE.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_3188_0), 0, 12680 }, /* MOVE.W An,(d8,An,Xn) */ +{ CPUFUNC(op_3190_0), 0, 12688 }, /* MOVE.W (An),(d8,An,Xn) */ +{ CPUFUNC(op_3198_0), 0, 12696 }, /* MOVE.W (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_31a0_0), 0, 12704 }, /* MOVE.W -(An),(d8,An,Xn) */ +{ CPUFUNC(op_31a8_0), 0, 12712 }, /* MOVE.W (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_31b0_0), 0, 12720 }, /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31b8_0), 0, 12728 }, /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_31b9_0), 0, 12729 }, /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_31ba_0), 0, 12730 }, /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_31bb_0), 0, 12731 }, /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31bc_0), 0, 12732 }, /* MOVE.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_31c0_0), 0, 12736 }, /* MOVE.W Dn,(xxx).W */ +{ CPUFUNC(op_31c8_0), 0, 12744 }, /* MOVE.W An,(xxx).W */ +{ CPUFUNC(op_31d0_0), 0, 12752 }, /* MOVE.W (An),(xxx).W */ +{ CPUFUNC(op_31d8_0), 0, 12760 }, /* MOVE.W (An)+,(xxx).W */ +{ CPUFUNC(op_31e0_0), 0, 12768 }, /* MOVE.W -(An),(xxx).W */ +{ CPUFUNC(op_31e8_0), 0, 12776 }, /* MOVE.W (d16,An),(xxx).W */ +{ CPUFUNC(op_31f0_0), 0, 12784 }, /* MOVE.W (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_31f8_0), 0, 12792 }, /* MOVE.W (xxx).W,(xxx).W */ +{ CPUFUNC(op_31f9_0), 0, 12793 }, /* MOVE.W (xxx).L,(xxx).W */ +{ CPUFUNC(op_31fa_0), 0, 12794 }, /* MOVE.W (d16,PC),(xxx).W */ +{ CPUFUNC(op_31fb_0), 0, 12795 }, /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_31fc_0), 0, 12796 }, /* MOVE.W #.W,(xxx).W */ +{ CPUFUNC(op_33c0_0), 0, 13248 }, /* MOVE.W Dn,(xxx).L */ +{ CPUFUNC(op_33c8_0), 0, 13256 }, /* MOVE.W An,(xxx).L */ +{ CPUFUNC(op_33d0_0), 0, 13264 }, /* MOVE.W (An),(xxx).L */ +{ CPUFUNC(op_33d8_0), 0, 13272 }, /* MOVE.W (An)+,(xxx).L */ +{ CPUFUNC(op_33e0_0), 0, 13280 }, /* MOVE.W -(An),(xxx).L */ +{ CPUFUNC(op_33e8_0), 0, 13288 }, /* MOVE.W (d16,An),(xxx).L */ +{ CPUFUNC(op_33f0_0), 0, 13296 }, /* MOVE.W (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_33f8_0), 0, 13304 }, /* MOVE.W (xxx).W,(xxx).L */ +{ CPUFUNC(op_33f9_0), 0, 13305 }, /* MOVE.W (xxx).L,(xxx).L */ +{ CPUFUNC(op_33fa_0), 0, 13306 }, /* MOVE.W (d16,PC),(xxx).L */ +{ CPUFUNC(op_33fb_0), 0, 13307 }, /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_33fc_0), 0, 13308 }, /* MOVE.W #.W,(xxx).L */ +{ CPUFUNC(op_4000_0), 0, 16384 }, /* NEGX.B Dn */ +{ CPUFUNC(op_4010_0), 0, 16400 }, /* NEGX.B (An) */ +{ CPUFUNC(op_4018_0), 0, 16408 }, /* NEGX.B (An)+ */ +{ CPUFUNC(op_4020_0), 0, 16416 }, /* NEGX.B -(An) */ +{ CPUFUNC(op_4028_0), 0, 16424 }, /* NEGX.B (d16,An) */ +{ CPUFUNC(op_4030_0), 0, 16432 }, /* NEGX.B (d8,An,Xn) */ +{ CPUFUNC(op_4038_0), 0, 16440 }, /* NEGX.B (xxx).W */ +{ CPUFUNC(op_4039_0), 0, 16441 }, /* NEGX.B (xxx).L */ +{ CPUFUNC(op_4040_0), 0, 16448 }, /* NEGX.W Dn */ +{ CPUFUNC(op_4050_0), 0, 16464 }, /* NEGX.W (An) */ +{ CPUFUNC(op_4058_0), 0, 16472 }, /* NEGX.W (An)+ */ +{ CPUFUNC(op_4060_0), 0, 16480 }, /* NEGX.W -(An) */ +{ CPUFUNC(op_4068_0), 0, 16488 }, /* NEGX.W (d16,An) */ +{ CPUFUNC(op_4070_0), 0, 16496 }, /* NEGX.W (d8,An,Xn) */ +{ CPUFUNC(op_4078_0), 0, 16504 }, /* NEGX.W (xxx).W */ +{ CPUFUNC(op_4079_0), 0, 16505 }, /* NEGX.W (xxx).L */ +{ CPUFUNC(op_4080_0), 0, 16512 }, /* NEGX.L Dn */ +{ CPUFUNC(op_4090_0), 0, 16528 }, /* NEGX.L (An) */ +{ CPUFUNC(op_4098_0), 0, 16536 }, /* NEGX.L (An)+ */ +{ CPUFUNC(op_40a0_0), 0, 16544 }, /* NEGX.L -(An) */ +{ CPUFUNC(op_40a8_0), 0, 16552 }, /* NEGX.L (d16,An) */ +{ CPUFUNC(op_40b0_0), 0, 16560 }, /* NEGX.L (d8,An,Xn) */ +{ CPUFUNC(op_40b8_0), 0, 16568 }, /* NEGX.L (xxx).W */ +{ CPUFUNC(op_40b9_0), 0, 16569 }, /* NEGX.L (xxx).L */ +{ CPUFUNC_FF(op_40c0_0), 0, 16576 }, /* MVSR2.W Dn */ +{ CPUFUNC_FF(op_40d0_0), 0, 16592 }, /* MVSR2.W (An) */ +{ CPUFUNC_FF(op_40d8_0), 0, 16600 }, /* MVSR2.W (An)+ */ +{ CPUFUNC_FF(op_40e0_0), 0, 16608 }, /* MVSR2.W -(An) */ +{ CPUFUNC_FF(op_40e8_0), 0, 16616 }, /* MVSR2.W (d16,An) */ +{ CPUFUNC_FF(op_40f0_0), 0, 16624 }, /* MVSR2.W (d8,An,Xn) */ +{ CPUFUNC_FF(op_40f8_0), 0, 16632 }, /* MVSR2.W (xxx).W */ +{ CPUFUNC_FF(op_40f9_0), 0, 16633 }, /* MVSR2.W (xxx).L */ +{ CPUFUNC(op_4100_0), 0, 16640 }, /* CHK.L Dn,Dn */ +{ CPUFUNC(op_4110_0), 0, 16656 }, /* CHK.L (An),Dn */ +{ CPUFUNC(op_4118_0), 0, 16664 }, /* CHK.L (An)+,Dn */ +{ CPUFUNC(op_4120_0), 0, 16672 }, /* CHK.L -(An),Dn */ +{ CPUFUNC(op_4128_0), 0, 16680 }, /* CHK.L (d16,An),Dn */ +{ CPUFUNC(op_4130_0), 0, 16688 }, /* CHK.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_4138_0), 0, 16696 }, /* CHK.L (xxx).W,Dn */ +{ CPUFUNC(op_4139_0), 0, 16697 }, /* CHK.L (xxx).L,Dn */ +{ CPUFUNC(op_413a_0), 0, 16698 }, /* CHK.L (d16,PC),Dn */ +{ CPUFUNC(op_413b_0), 0, 16699 }, /* CHK.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_413c_0), 0, 16700 }, /* CHK.L #.L,Dn */ +{ CPUFUNC(op_4180_0), 0, 16768 }, /* CHK.W Dn,Dn */ +{ CPUFUNC(op_4190_0), 0, 16784 }, /* CHK.W (An),Dn */ +{ CPUFUNC(op_4198_0), 0, 16792 }, /* CHK.W (An)+,Dn */ +{ CPUFUNC(op_41a0_0), 0, 16800 }, /* CHK.W -(An),Dn */ +{ CPUFUNC(op_41a8_0), 0, 16808 }, /* CHK.W (d16,An),Dn */ +{ CPUFUNC(op_41b0_0), 0, 16816 }, /* CHK.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_41b8_0), 0, 16824 }, /* CHK.W (xxx).W,Dn */ +{ CPUFUNC(op_41b9_0), 0, 16825 }, /* CHK.W (xxx).L,Dn */ +{ CPUFUNC(op_41ba_0), 0, 16826 }, /* CHK.W (d16,PC),Dn */ +{ CPUFUNC(op_41bb_0), 0, 16827 }, /* CHK.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_41bc_0), 0, 16828 }, /* CHK.W #.W,Dn */ +{ CPUFUNC_FF(op_41d0_0), 0, 16848 }, /* LEA.L (An),An */ +{ CPUFUNC_FF(op_41e8_0), 0, 16872 }, /* LEA.L (d16,An),An */ +{ CPUFUNC_FF(op_41f0_0), 0, 16880 }, /* LEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_41f8_0), 0, 16888 }, /* LEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_41f9_0), 0, 16889 }, /* LEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_41fa_0), 0, 16890 }, /* LEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_41fb_0), 0, 16891 }, /* LEA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_4200_0), 0, 16896 }, /* CLR.B Dn */ +{ CPUFUNC(op_4210_0), 0, 16912 }, /* CLR.B (An) */ +{ CPUFUNC(op_4218_0), 0, 16920 }, /* CLR.B (An)+ */ +{ CPUFUNC(op_4220_0), 0, 16928 }, /* CLR.B -(An) */ +{ CPUFUNC(op_4228_0), 0, 16936 }, /* CLR.B (d16,An) */ +{ CPUFUNC(op_4230_0), 0, 16944 }, /* CLR.B (d8,An,Xn) */ +{ CPUFUNC(op_4238_0), 0, 16952 }, /* CLR.B (xxx).W */ +{ CPUFUNC(op_4239_0), 0, 16953 }, /* CLR.B (xxx).L */ +{ CPUFUNC(op_4240_0), 0, 16960 }, /* CLR.W Dn */ +{ CPUFUNC(op_4250_0), 0, 16976 }, /* CLR.W (An) */ +{ CPUFUNC(op_4258_0), 0, 16984 }, /* CLR.W (An)+ */ +{ CPUFUNC(op_4260_0), 0, 16992 }, /* CLR.W -(An) */ +{ CPUFUNC(op_4268_0), 0, 17000 }, /* CLR.W (d16,An) */ +{ CPUFUNC(op_4270_0), 0, 17008 }, /* CLR.W (d8,An,Xn) */ +{ CPUFUNC(op_4278_0), 0, 17016 }, /* CLR.W (xxx).W */ +{ CPUFUNC(op_4279_0), 0, 17017 }, /* CLR.W (xxx).L */ +{ CPUFUNC(op_4280_0), 0, 17024 }, /* CLR.L Dn */ +{ CPUFUNC(op_4290_0), 0, 17040 }, /* CLR.L (An) */ +{ CPUFUNC(op_4298_0), 0, 17048 }, /* CLR.L (An)+ */ +{ CPUFUNC(op_42a0_0), 0, 17056 }, /* CLR.L -(An) */ +{ CPUFUNC(op_42a8_0), 0, 17064 }, /* CLR.L (d16,An) */ +{ CPUFUNC(op_42b0_0), 0, 17072 }, /* CLR.L (d8,An,Xn) */ +{ CPUFUNC(op_42b8_0), 0, 17080 }, /* CLR.L (xxx).W */ +{ CPUFUNC(op_42b9_0), 0, 17081 }, /* CLR.L (xxx).L */ +{ CPUFUNC_FF(op_42c0_0), 0, 17088 }, /* MVSR2.B Dn */ +{ CPUFUNC_FF(op_42d0_0), 0, 17104 }, /* MVSR2.B (An) */ +{ CPUFUNC_FF(op_42d8_0), 0, 17112 }, /* MVSR2.B (An)+ */ +{ CPUFUNC_FF(op_42e0_0), 0, 17120 }, /* MVSR2.B -(An) */ +{ CPUFUNC_FF(op_42e8_0), 0, 17128 }, /* MVSR2.B (d16,An) */ +{ CPUFUNC_FF(op_42f0_0), 0, 17136 }, /* MVSR2.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_42f8_0), 0, 17144 }, /* MVSR2.B (xxx).W */ +{ CPUFUNC_FF(op_42f9_0), 0, 17145 }, /* MVSR2.B (xxx).L */ +{ CPUFUNC(op_4400_0), 0, 17408 }, /* NEG.B Dn */ +{ CPUFUNC(op_4410_0), 0, 17424 }, /* NEG.B (An) */ +{ CPUFUNC(op_4418_0), 0, 17432 }, /* NEG.B (An)+ */ +{ CPUFUNC(op_4420_0), 0, 17440 }, /* NEG.B -(An) */ +{ CPUFUNC(op_4428_0), 0, 17448 }, /* NEG.B (d16,An) */ +{ CPUFUNC(op_4430_0), 0, 17456 }, /* NEG.B (d8,An,Xn) */ +{ CPUFUNC(op_4438_0), 0, 17464 }, /* NEG.B (xxx).W */ +{ CPUFUNC(op_4439_0), 0, 17465 }, /* NEG.B (xxx).L */ +{ CPUFUNC(op_4440_0), 0, 17472 }, /* NEG.W Dn */ +{ CPUFUNC(op_4450_0), 0, 17488 }, /* NEG.W (An) */ +{ CPUFUNC(op_4458_0), 0, 17496 }, /* NEG.W (An)+ */ +{ CPUFUNC(op_4460_0), 0, 17504 }, /* NEG.W -(An) */ +{ CPUFUNC(op_4468_0), 0, 17512 }, /* NEG.W (d16,An) */ +{ CPUFUNC(op_4470_0), 0, 17520 }, /* NEG.W (d8,An,Xn) */ +{ CPUFUNC(op_4478_0), 0, 17528 }, /* NEG.W (xxx).W */ +{ CPUFUNC(op_4479_0), 0, 17529 }, /* NEG.W (xxx).L */ +{ CPUFUNC(op_4480_0), 0, 17536 }, /* NEG.L Dn */ +{ CPUFUNC(op_4490_0), 0, 17552 }, /* NEG.L (An) */ +{ CPUFUNC(op_4498_0), 0, 17560 }, /* NEG.L (An)+ */ +{ CPUFUNC(op_44a0_0), 0, 17568 }, /* NEG.L -(An) */ +{ CPUFUNC(op_44a8_0), 0, 17576 }, /* NEG.L (d16,An) */ +{ CPUFUNC(op_44b0_0), 0, 17584 }, /* NEG.L (d8,An,Xn) */ +{ CPUFUNC(op_44b8_0), 0, 17592 }, /* NEG.L (xxx).W */ +{ CPUFUNC(op_44b9_0), 0, 17593 }, /* NEG.L (xxx).L */ +{ CPUFUNC(op_44c0_0), 0, 17600 }, /* MV2SR.B Dn */ +{ CPUFUNC(op_44d0_0), 0, 17616 }, /* MV2SR.B (An) */ +{ CPUFUNC(op_44d8_0), 0, 17624 }, /* MV2SR.B (An)+ */ +{ CPUFUNC(op_44e0_0), 0, 17632 }, /* MV2SR.B -(An) */ +{ CPUFUNC(op_44e8_0), 0, 17640 }, /* MV2SR.B (d16,An) */ +{ CPUFUNC(op_44f0_0), 0, 17648 }, /* MV2SR.B (d8,An,Xn) */ +{ CPUFUNC(op_44f8_0), 0, 17656 }, /* MV2SR.B (xxx).W */ +{ CPUFUNC(op_44f9_0), 0, 17657 }, /* MV2SR.B (xxx).L */ +{ CPUFUNC(op_44fa_0), 0, 17658 }, /* MV2SR.B (d16,PC) */ +{ CPUFUNC(op_44fb_0), 0, 17659 }, /* MV2SR.B (d8,PC,Xn) */ +{ CPUFUNC(op_44fc_0), 0, 17660 }, /* MV2SR.B #.B */ +{ CPUFUNC(op_4600_0), 0, 17920 }, /* NOT.B Dn */ +{ CPUFUNC(op_4610_0), 0, 17936 }, /* NOT.B (An) */ +{ CPUFUNC(op_4618_0), 0, 17944 }, /* NOT.B (An)+ */ +{ CPUFUNC(op_4620_0), 0, 17952 }, /* NOT.B -(An) */ +{ CPUFUNC(op_4628_0), 0, 17960 }, /* NOT.B (d16,An) */ +{ CPUFUNC(op_4630_0), 0, 17968 }, /* NOT.B (d8,An,Xn) */ +{ CPUFUNC(op_4638_0), 0, 17976 }, /* NOT.B (xxx).W */ +{ CPUFUNC(op_4639_0), 0, 17977 }, /* NOT.B (xxx).L */ +{ CPUFUNC(op_4640_0), 0, 17984 }, /* NOT.W Dn */ +{ CPUFUNC(op_4650_0), 0, 18000 }, /* NOT.W (An) */ +{ CPUFUNC(op_4658_0), 0, 18008 }, /* NOT.W (An)+ */ +{ CPUFUNC(op_4660_0), 0, 18016 }, /* NOT.W -(An) */ +{ CPUFUNC(op_4668_0), 0, 18024 }, /* NOT.W (d16,An) */ +{ CPUFUNC(op_4670_0), 0, 18032 }, /* NOT.W (d8,An,Xn) */ +{ CPUFUNC(op_4678_0), 0, 18040 }, /* NOT.W (xxx).W */ +{ CPUFUNC(op_4679_0), 0, 18041 }, /* NOT.W (xxx).L */ +{ CPUFUNC(op_4680_0), 0, 18048 }, /* NOT.L Dn */ +{ CPUFUNC(op_4690_0), 0, 18064 }, /* NOT.L (An) */ +{ CPUFUNC(op_4698_0), 0, 18072 }, /* NOT.L (An)+ */ +{ CPUFUNC(op_46a0_0), 0, 18080 }, /* NOT.L -(An) */ +{ CPUFUNC(op_46a8_0), 0, 18088 }, /* NOT.L (d16,An) */ +{ CPUFUNC(op_46b0_0), 0, 18096 }, /* NOT.L (d8,An,Xn) */ +{ CPUFUNC(op_46b8_0), 0, 18104 }, /* NOT.L (xxx).W */ +{ CPUFUNC(op_46b9_0), 0, 18105 }, /* NOT.L (xxx).L */ +{ CPUFUNC(op_46c0_0), 0, 18112 }, /* MV2SR.W Dn */ +{ CPUFUNC(op_46d0_0), 0, 18128 }, /* MV2SR.W (An) */ +{ CPUFUNC(op_46d8_0), 0, 18136 }, /* MV2SR.W (An)+ */ +{ CPUFUNC(op_46e0_0), 0, 18144 }, /* MV2SR.W -(An) */ +{ CPUFUNC(op_46e8_0), 0, 18152 }, /* MV2SR.W (d16,An) */ +{ CPUFUNC(op_46f0_0), 0, 18160 }, /* MV2SR.W (d8,An,Xn) */ +{ CPUFUNC(op_46f8_0), 0, 18168 }, /* MV2SR.W (xxx).W */ +{ CPUFUNC(op_46f9_0), 0, 18169 }, /* MV2SR.W (xxx).L */ +{ CPUFUNC(op_46fa_0), 0, 18170 }, /* MV2SR.W (d16,PC) */ +{ CPUFUNC(op_46fb_0), 0, 18171 }, /* MV2SR.W (d8,PC,Xn) */ +{ CPUFUNC(op_46fc_0), 0, 18172 }, /* MV2SR.W #.W */ +{ CPUFUNC(op_4800_1), 0, 18432 }, /* NBCD.B Dn */ +{ CPUFUNC_FF(op_4808_0), 0, 18440 }, /* LINK.L An,#.L */ +{ CPUFUNC(op_4810_1), 0, 18448 }, /* NBCD.B (An) */ +{ CPUFUNC(op_4818_1), 0, 18456 }, /* NBCD.B (An)+ */ +{ CPUFUNC(op_4820_1), 0, 18464 }, /* NBCD.B -(An) */ +{ CPUFUNC(op_4828_1), 0, 18472 }, /* NBCD.B (d16,An) */ +{ CPUFUNC(op_4830_1), 0, 18480 }, /* NBCD.B (d8,An,Xn) */ +{ CPUFUNC(op_4838_1), 0, 18488 }, /* NBCD.B (xxx).W */ +{ CPUFUNC(op_4839_1), 0, 18489 }, /* NBCD.B (xxx).L */ +{ CPUFUNC(op_4840_0), 0, 18496 }, /* SWAP.W Dn */ +{ CPUFUNC_FF(op_4848_0), 0, 18504 }, /* BKPT.L # */ +{ CPUFUNC_FF(op_4850_0), 0, 18512 }, /* PEA.L (An) */ +{ CPUFUNC_FF(op_4868_0), 0, 18536 }, /* PEA.L (d16,An) */ +{ CPUFUNC_FF(op_4870_0), 0, 18544 }, /* PEA.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4878_0), 0, 18552 }, /* PEA.L (xxx).W */ +{ CPUFUNC_FF(op_4879_0), 0, 18553 }, /* PEA.L (xxx).L */ +{ CPUFUNC_FF(op_487a_0), 0, 18554 }, /* PEA.L (d16,PC) */ +{ CPUFUNC_FF(op_487b_0), 0, 18555 }, /* PEA.L (d8,PC,Xn) */ +{ CPUFUNC(op_4880_0), 0, 18560 }, /* EXT.W Dn */ +{ CPUFUNC_FF(op_4890_0), 0, 18576 }, /* MVMLE.W #.W,(An) */ +{ CPUFUNC_FF(op_48a0_0), 0, 18592 }, /* MVMLE.W #.W,-(An) */ +{ CPUFUNC_FF(op_48a8_0), 0, 18600 }, /* MVMLE.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_48b0_0), 0, 18608 }, /* MVMLE.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48b8_0), 0, 18616 }, /* MVMLE.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_48b9_0), 0, 18617 }, /* MVMLE.W #.W,(xxx).L */ +{ CPUFUNC(op_48c0_0), 0, 18624 }, /* EXT.L Dn */ +{ CPUFUNC_FF(op_48d0_0), 0, 18640 }, /* MVMLE.L #.W,(An) */ +{ CPUFUNC_FF(op_48e0_0), 0, 18656 }, /* MVMLE.L #.W,-(An) */ +{ CPUFUNC_FF(op_48e8_0), 0, 18664 }, /* MVMLE.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_48f0_0), 0, 18672 }, /* MVMLE.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48f8_0), 0, 18680 }, /* MVMLE.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_48f9_0), 0, 18681 }, /* MVMLE.L #.W,(xxx).L */ +{ CPUFUNC(op_49c0_0), 0, 18880 }, /* EXT.B Dn */ +{ CPUFUNC(op_4a00_0), 0, 18944 }, /* TST.B Dn */ +{ CPUFUNC(op_4a10_0), 0, 18960 }, /* TST.B (An) */ +{ CPUFUNC(op_4a18_0), 0, 18968 }, /* TST.B (An)+ */ +{ CPUFUNC(op_4a20_0), 0, 18976 }, /* TST.B -(An) */ +{ CPUFUNC(op_4a28_0), 0, 18984 }, /* TST.B (d16,An) */ +{ CPUFUNC(op_4a30_0), 0, 18992 }, /* TST.B (d8,An,Xn) */ +{ CPUFUNC(op_4a38_0), 0, 19000 }, /* TST.B (xxx).W */ +{ CPUFUNC(op_4a39_0), 0, 19001 }, /* TST.B (xxx).L */ +{ CPUFUNC(op_4a3a_0), 0, 19002 }, /* TST.B (d16,PC) */ +{ CPUFUNC(op_4a3b_0), 0, 19003 }, /* TST.B (d8,PC,Xn) */ +{ CPUFUNC(op_4a3c_0), 0, 19004 }, /* TST.B #.B */ +{ CPUFUNC(op_4a40_0), 0, 19008 }, /* TST.W Dn */ +{ CPUFUNC(op_4a48_0), 0, 19016 }, /* TST.W An */ +{ CPUFUNC(op_4a50_0), 0, 19024 }, /* TST.W (An) */ +{ CPUFUNC(op_4a58_0), 0, 19032 }, /* TST.W (An)+ */ +{ CPUFUNC(op_4a60_0), 0, 19040 }, /* TST.W -(An) */ +{ CPUFUNC(op_4a68_0), 0, 19048 }, /* TST.W (d16,An) */ +{ CPUFUNC(op_4a70_0), 0, 19056 }, /* TST.W (d8,An,Xn) */ +{ CPUFUNC(op_4a78_0), 0, 19064 }, /* TST.W (xxx).W */ +{ CPUFUNC(op_4a79_0), 0, 19065 }, /* TST.W (xxx).L */ +{ CPUFUNC(op_4a7a_0), 0, 19066 }, /* TST.W (d16,PC) */ +{ CPUFUNC(op_4a7b_0), 0, 19067 }, /* TST.W (d8,PC,Xn) */ +{ CPUFUNC(op_4a7c_0), 0, 19068 }, /* TST.W #.W */ +{ CPUFUNC(op_4a80_0), 0, 19072 }, /* TST.L Dn */ +{ CPUFUNC(op_4a88_0), 0, 19080 }, /* TST.L An */ +{ CPUFUNC(op_4a90_0), 0, 19088 }, /* TST.L (An) */ +{ CPUFUNC(op_4a98_0), 0, 19096 }, /* TST.L (An)+ */ +{ CPUFUNC(op_4aa0_0), 0, 19104 }, /* TST.L -(An) */ +{ CPUFUNC(op_4aa8_0), 0, 19112 }, /* TST.L (d16,An) */ +{ CPUFUNC(op_4ab0_0), 0, 19120 }, /* TST.L (d8,An,Xn) */ +{ CPUFUNC(op_4ab8_0), 0, 19128 }, /* TST.L (xxx).W */ +{ CPUFUNC(op_4ab9_0), 0, 19129 }, /* TST.L (xxx).L */ +{ CPUFUNC(op_4aba_0), 0, 19130 }, /* TST.L (d16,PC) */ +{ CPUFUNC(op_4abb_0), 0, 19131 }, /* TST.L (d8,PC,Xn) */ +{ CPUFUNC(op_4abc_0), 0, 19132 }, /* TST.L #.L */ +{ CPUFUNC(op_4ac0_0), 0, 19136 }, /* TAS.B Dn */ +{ CPUFUNC(op_4ad0_0), 0, 19152 }, /* TAS.B (An) */ +{ CPUFUNC(op_4ad8_0), 0, 19160 }, /* TAS.B (An)+ */ +{ CPUFUNC(op_4ae0_0), 0, 19168 }, /* TAS.B -(An) */ +{ CPUFUNC(op_4ae8_0), 0, 19176 }, /* TAS.B (d16,An) */ +{ CPUFUNC(op_4af0_0), 0, 19184 }, /* TAS.B (d8,An,Xn) */ +{ CPUFUNC(op_4af8_0), 0, 19192 }, /* TAS.B (xxx).W */ +{ CPUFUNC(op_4af9_0), 0, 19193 }, /* TAS.B (xxx).L */ +{ CPUFUNC(op_4c00_0), 0, 19456 }, /* MULL.L #.W,Dn */ +{ CPUFUNC(op_4c10_0), 0, 19472 }, /* MULL.L #.W,(An) */ +{ CPUFUNC(op_4c18_0), 0, 19480 }, /* MULL.L #.W,(An)+ */ +{ CPUFUNC(op_4c20_0), 0, 19488 }, /* MULL.L #.W,-(An) */ +{ CPUFUNC(op_4c28_0), 0, 19496 }, /* MULL.L #.W,(d16,An) */ +{ CPUFUNC(op_4c30_0), 0, 19504 }, /* MULL.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4c38_0), 0, 19512 }, /* MULL.L #.W,(xxx).W */ +{ CPUFUNC(op_4c39_0), 0, 19513 }, /* MULL.L #.W,(xxx).L */ +{ CPUFUNC(op_4c3a_0), 0, 19514 }, /* MULL.L #.W,(d16,PC) */ +{ CPUFUNC(op_4c3b_0), 0, 19515 }, /* MULL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_4c3c_0), 0, 19516 }, /* MULL.L #.W,#.L */ +{ CPUFUNC(op_4c40_0), 0, 19520 }, /* DIVL.L #.W,Dn */ +{ CPUFUNC(op_4c50_0), 0, 19536 }, /* DIVL.L #.W,(An) */ +{ CPUFUNC(op_4c58_0), 0, 19544 }, /* DIVL.L #.W,(An)+ */ +{ CPUFUNC(op_4c60_0), 0, 19552 }, /* DIVL.L #.W,-(An) */ +{ CPUFUNC(op_4c68_0), 0, 19560 }, /* DIVL.L #.W,(d16,An) */ +{ CPUFUNC(op_4c70_0), 0, 19568 }, /* DIVL.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4c78_0), 0, 19576 }, /* DIVL.L #.W,(xxx).W */ +{ CPUFUNC(op_4c79_0), 0, 19577 }, /* DIVL.L #.W,(xxx).L */ +{ CPUFUNC(op_4c7a_0), 0, 19578 }, /* DIVL.L #.W,(d16,PC) */ +{ CPUFUNC(op_4c7b_0), 0, 19579 }, /* DIVL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_4c7c_0), 0, 19580 }, /* DIVL.L #.W,#.L */ +{ CPUFUNC_FF(op_4c90_0), 0, 19600 }, /* MVMEL.W #.W,(An) */ +{ CPUFUNC_FF(op_4c98_0), 0, 19608 }, /* MVMEL.W #.W,(An)+ */ +{ CPUFUNC_FF(op_4ca8_0), 0, 19624 }, /* MVMEL.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cb0_0), 0, 19632 }, /* MVMEL.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cb8_0), 0, 19640 }, /* MVMEL.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cb9_0), 0, 19641 }, /* MVMEL.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cba_0), 0, 19642 }, /* MVMEL.W #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cbb_0), 0, 19643 }, /* MVMEL.W #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4cd0_0), 0, 19664 }, /* MVMEL.L #.W,(An) */ +{ CPUFUNC_FF(op_4cd8_0), 0, 19672 }, /* MVMEL.L #.W,(An)+ */ +{ CPUFUNC_FF(op_4ce8_0), 0, 19688 }, /* MVMEL.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cf0_0), 0, 19696 }, /* MVMEL.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cf8_0), 0, 19704 }, /* MVMEL.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cf9_0), 0, 19705 }, /* MVMEL.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cfa_0), 0, 19706 }, /* MVMEL.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cfb_0), 0, 19707 }, /* MVMEL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4e40_0), 0, 20032 }, /* TRAP.L # */ +{ CPUFUNC_FF(op_4e50_0), 0, 20048 }, /* LINK.W An,#.W */ +{ CPUFUNC_FF(op_4e58_0), 0, 20056 }, /* UNLK.L An */ +{ CPUFUNC_FF(op_4e60_0), 0, 20064 }, /* MVR2USP.L An */ +{ CPUFUNC_FF(op_4e68_0), 0, 20072 }, /* MVUSP2R.L An */ +{ CPUFUNC_FF(op_4e70_0), 0, 20080 }, /* RESET.L */ +{ CPUFUNC_FF(op_4e71_0), 0, 20081 }, /* NOP.L */ +{ CPUFUNC(op_4e72_0), 0, 20082 }, /* STOP.L #.W */ +{ CPUFUNC(op_4e73_0), 0, 20083 }, /* RTE.L */ +{ CPUFUNC_FF(op_4e74_0), 0, 20084 }, /* RTD.L #.W */ +{ CPUFUNC_FF(op_4e75_0), 0, 20085 }, /* RTS.L */ +{ CPUFUNC_FF(op_4e76_0), 0, 20086 }, /* TRAPV.L */ +{ CPUFUNC(op_4e77_0), 0, 20087 }, /* RTR.L */ +{ CPUFUNC_FF(op_4e7a_0), 0, 20090 }, /* MOVEC2.L #.W */ +{ CPUFUNC_FF(op_4e7b_0), 0, 20091 }, /* MOVE2C.L #.W */ +{ CPUFUNC_FF(op_4e90_0), 0, 20112 }, /* JSR.L (An) */ +{ CPUFUNC_FF(op_4ea8_0), 0, 20136 }, /* JSR.L (d16,An) */ +{ CPUFUNC_FF(op_4eb0_0), 0, 20144 }, /* JSR.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4eb8_0), 0, 20152 }, /* JSR.L (xxx).W */ +{ CPUFUNC_FF(op_4eb9_0), 0, 20153 }, /* JSR.L (xxx).L */ +{ CPUFUNC_FF(op_4eba_0), 0, 20154 }, /* JSR.L (d16,PC) */ +{ CPUFUNC_FF(op_4ebb_0), 0, 20155 }, /* JSR.L (d8,PC,Xn) */ +{ CPUFUNC_FF(op_4ed0_0), 0, 20176 }, /* JMP.L (An) */ +{ CPUFUNC_FF(op_4ee8_0), 0, 20200 }, /* JMP.L (d16,An) */ +{ CPUFUNC_FF(op_4ef0_0), 0, 20208 }, /* JMP.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4ef8_0), 0, 20216 }, /* JMP.L (xxx).W */ +{ CPUFUNC_FF(op_4ef9_0), 0, 20217 }, /* JMP.L (xxx).L */ +{ CPUFUNC_FF(op_4efa_0), 0, 20218 }, /* JMP.L (d16,PC) */ +{ CPUFUNC_FF(op_4efb_0), 0, 20219 }, /* JMP.L (d8,PC,Xn) */ +{ CPUFUNC(op_5000_0), 0, 20480 }, /* ADD.B #,Dn */ +{ CPUFUNC(op_5010_0), 0, 20496 }, /* ADD.B #,(An) */ +{ CPUFUNC(op_5018_0), 0, 20504 }, /* ADD.B #,(An)+ */ +{ CPUFUNC(op_5020_0), 0, 20512 }, /* ADD.B #,-(An) */ +{ CPUFUNC(op_5028_0), 0, 20520 }, /* ADD.B #,(d16,An) */ +{ CPUFUNC(op_5030_0), 0, 20528 }, /* ADD.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5038_0), 0, 20536 }, /* ADD.B #,(xxx).W */ +{ CPUFUNC(op_5039_0), 0, 20537 }, /* ADD.B #,(xxx).L */ +{ CPUFUNC(op_5040_0), 0, 20544 }, /* ADD.W #,Dn */ +{ CPUFUNC_FF(op_5048_0), 0, 20552 }, /* ADDA.W #,An */ +{ CPUFUNC(op_5050_0), 0, 20560 }, /* ADD.W #,(An) */ +{ CPUFUNC(op_5058_0), 0, 20568 }, /* ADD.W #,(An)+ */ +{ CPUFUNC(op_5060_0), 0, 20576 }, /* ADD.W #,-(An) */ +{ CPUFUNC(op_5068_0), 0, 20584 }, /* ADD.W #,(d16,An) */ +{ CPUFUNC(op_5070_0), 0, 20592 }, /* ADD.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5078_0), 0, 20600 }, /* ADD.W #,(xxx).W */ +{ CPUFUNC(op_5079_0), 0, 20601 }, /* ADD.W #,(xxx).L */ +{ CPUFUNC(op_5080_0), 0, 20608 }, /* ADD.L #,Dn */ +{ CPUFUNC_FF(op_5088_0), 0, 20616 }, /* ADDA.L #,An */ +{ CPUFUNC(op_5090_0), 0, 20624 }, /* ADD.L #,(An) */ +{ CPUFUNC(op_5098_0), 0, 20632 }, /* ADD.L #,(An)+ */ +{ CPUFUNC(op_50a0_0), 0, 20640 }, /* ADD.L #,-(An) */ +{ CPUFUNC(op_50a8_0), 0, 20648 }, /* ADD.L #,(d16,An) */ +{ CPUFUNC(op_50b0_0), 0, 20656 }, /* ADD.L #,(d8,An,Xn) */ +{ CPUFUNC(op_50b8_0), 0, 20664 }, /* ADD.L #,(xxx).W */ +{ CPUFUNC(op_50b9_0), 0, 20665 }, /* ADD.L #,(xxx).L */ +{ CPUFUNC_FF(op_50c0_0), 0, 20672 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_50c8_0), 0, 20680 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_50d0_0), 0, 20688 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_50d8_0), 0, 20696 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_50e0_0), 0, 20704 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_50e8_0), 0, 20712 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_50f0_0), 0, 20720 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_50f8_0), 0, 20728 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_50f9_0), 0, 20729 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_50fa_0), 0, 20730 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_50fb_0), 0, 20731 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_50fc_0), 0, 20732 }, /* TRAPcc.L */ +{ CPUFUNC(op_5100_0), 0, 20736 }, /* SUB.B #,Dn */ +{ CPUFUNC(op_5110_0), 0, 20752 }, /* SUB.B #,(An) */ +{ CPUFUNC(op_5118_0), 0, 20760 }, /* SUB.B #,(An)+ */ +{ CPUFUNC(op_5120_0), 0, 20768 }, /* SUB.B #,-(An) */ +{ CPUFUNC(op_5128_0), 0, 20776 }, /* SUB.B #,(d16,An) */ +{ CPUFUNC(op_5130_0), 0, 20784 }, /* SUB.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5138_0), 0, 20792 }, /* SUB.B #,(xxx).W */ +{ CPUFUNC(op_5139_0), 0, 20793 }, /* SUB.B #,(xxx).L */ +{ CPUFUNC(op_5140_0), 0, 20800 }, /* SUB.W #,Dn */ +{ CPUFUNC_FF(op_5148_0), 0, 20808 }, /* SUBA.W #,An */ +{ CPUFUNC(op_5150_0), 0, 20816 }, /* SUB.W #,(An) */ +{ CPUFUNC(op_5158_0), 0, 20824 }, /* SUB.W #,(An)+ */ +{ CPUFUNC(op_5160_0), 0, 20832 }, /* SUB.W #,-(An) */ +{ CPUFUNC(op_5168_0), 0, 20840 }, /* SUB.W #,(d16,An) */ +{ CPUFUNC(op_5170_0), 0, 20848 }, /* SUB.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5178_0), 0, 20856 }, /* SUB.W #,(xxx).W */ +{ CPUFUNC(op_5179_0), 0, 20857 }, /* SUB.W #,(xxx).L */ +{ CPUFUNC(op_5180_0), 0, 20864 }, /* SUB.L #,Dn */ +{ CPUFUNC_FF(op_5188_0), 0, 20872 }, /* SUBA.L #,An */ +{ CPUFUNC(op_5190_0), 0, 20880 }, /* SUB.L #,(An) */ +{ CPUFUNC(op_5198_0), 0, 20888 }, /* SUB.L #,(An)+ */ +{ CPUFUNC(op_51a0_0), 0, 20896 }, /* SUB.L #,-(An) */ +{ CPUFUNC(op_51a8_0), 0, 20904 }, /* SUB.L #,(d16,An) */ +{ CPUFUNC(op_51b0_0), 0, 20912 }, /* SUB.L #,(d8,An,Xn) */ +{ CPUFUNC(op_51b8_0), 0, 20920 }, /* SUB.L #,(xxx).W */ +{ CPUFUNC(op_51b9_0), 0, 20921 }, /* SUB.L #,(xxx).L */ +{ CPUFUNC_FF(op_51c0_0), 0, 20928 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_51c8_0), 0, 20936 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_51d0_0), 0, 20944 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_51d8_0), 0, 20952 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_51e0_0), 0, 20960 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_51e8_0), 0, 20968 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_51f0_0), 0, 20976 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_51f8_0), 0, 20984 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_51f9_0), 0, 20985 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_51fa_0), 0, 20986 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_51fb_0), 0, 20987 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_51fc_0), 0, 20988 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_52c0_0), 0, 21184 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_52c8_0), 0, 21192 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_52d0_0), 0, 21200 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_52d8_0), 0, 21208 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_52e0_0), 0, 21216 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_52e8_0), 0, 21224 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_52f0_0), 0, 21232 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_52f8_0), 0, 21240 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_52f9_0), 0, 21241 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_52fa_0), 0, 21242 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_52fb_0), 0, 21243 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_52fc_0), 0, 21244 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_53c0_0), 0, 21440 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_53c8_0), 0, 21448 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_53d0_0), 0, 21456 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_53d8_0), 0, 21464 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_53e0_0), 0, 21472 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_53e8_0), 0, 21480 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_53f0_0), 0, 21488 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_53f8_0), 0, 21496 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_53f9_0), 0, 21497 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_53fa_0), 0, 21498 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_53fb_0), 0, 21499 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_53fc_0), 0, 21500 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_54c0_0), 0, 21696 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_54c8_0), 0, 21704 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_54d0_0), 0, 21712 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_54d8_0), 0, 21720 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_54e0_0), 0, 21728 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_54e8_0), 0, 21736 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_54f0_0), 0, 21744 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_54f8_0), 0, 21752 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_54f9_0), 0, 21753 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_54fa_0), 0, 21754 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_54fb_0), 0, 21755 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_54fc_0), 0, 21756 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_55c0_0), 0, 21952 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_55c8_0), 0, 21960 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_55d0_0), 0, 21968 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_55d8_0), 0, 21976 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_55e0_0), 0, 21984 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_55e8_0), 0, 21992 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_55f0_0), 0, 22000 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_55f8_0), 0, 22008 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_55f9_0), 0, 22009 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_55fa_0), 0, 22010 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_55fb_0), 0, 22011 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_55fc_0), 0, 22012 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_56c0_0), 0, 22208 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_56c8_0), 0, 22216 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_56d0_0), 0, 22224 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_56d8_0), 0, 22232 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_56e0_0), 0, 22240 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_56e8_0), 0, 22248 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_56f0_0), 0, 22256 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_56f8_0), 0, 22264 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_56f9_0), 0, 22265 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_56fa_0), 0, 22266 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_56fb_0), 0, 22267 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_56fc_0), 0, 22268 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_57c0_0), 0, 22464 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_57c8_0), 0, 22472 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_57d0_0), 0, 22480 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_57d8_0), 0, 22488 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_57e0_0), 0, 22496 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_57e8_0), 0, 22504 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_57f0_0), 0, 22512 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_57f8_0), 0, 22520 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_57f9_0), 0, 22521 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_57fa_0), 0, 22522 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_57fb_0), 0, 22523 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_57fc_0), 0, 22524 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_58c0_0), 0, 22720 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_58c8_0), 0, 22728 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_58d0_0), 0, 22736 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_58d8_0), 0, 22744 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_58e0_0), 0, 22752 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_58e8_0), 0, 22760 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_58f0_0), 0, 22768 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_58f8_0), 0, 22776 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_58f9_0), 0, 22777 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_58fa_0), 0, 22778 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_58fb_0), 0, 22779 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_58fc_0), 0, 22780 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_59c0_0), 0, 22976 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_59c8_0), 0, 22984 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_59d0_0), 0, 22992 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_59d8_0), 0, 23000 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_59e0_0), 0, 23008 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_59e8_0), 0, 23016 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_59f0_0), 0, 23024 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_59f8_0), 0, 23032 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_59f9_0), 0, 23033 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_59fa_0), 0, 23034 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_59fb_0), 0, 23035 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_59fc_0), 0, 23036 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5ac0_0), 0, 23232 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ac8_0), 0, 23240 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ad0_0), 0, 23248 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ad8_0), 0, 23256 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ae0_0), 0, 23264 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ae8_0), 0, 23272 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5af0_0), 0, 23280 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5af8_0), 0, 23288 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5af9_0), 0, 23289 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5afa_0), 0, 23290 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5afb_0), 0, 23291 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5afc_0), 0, 23292 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5bc0_0), 0, 23488 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5bc8_0), 0, 23496 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5bd0_0), 0, 23504 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5bd8_0), 0, 23512 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5be0_0), 0, 23520 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5be8_0), 0, 23528 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5bf0_0), 0, 23536 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5bf8_0), 0, 23544 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5bf9_0), 0, 23545 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5bfa_0), 0, 23546 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5bfb_0), 0, 23547 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5bfc_0), 0, 23548 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5cc0_0), 0, 23744 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5cc8_0), 0, 23752 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5cd0_0), 0, 23760 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5cd8_0), 0, 23768 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ce0_0), 0, 23776 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ce8_0), 0, 23784 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5cf0_0), 0, 23792 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5cf8_0), 0, 23800 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5cf9_0), 0, 23801 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5cfa_0), 0, 23802 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5cfb_0), 0, 23803 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5cfc_0), 0, 23804 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5dc0_0), 0, 24000 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5dc8_0), 0, 24008 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5dd0_0), 0, 24016 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5dd8_0), 0, 24024 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5de0_0), 0, 24032 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5de8_0), 0, 24040 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5df0_0), 0, 24048 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5df8_0), 0, 24056 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5df9_0), 0, 24057 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5dfa_0), 0, 24058 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5dfb_0), 0, 24059 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5dfc_0), 0, 24060 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5ec0_0), 0, 24256 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ec8_0), 0, 24264 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ed0_0), 0, 24272 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ed8_0), 0, 24280 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ee0_0), 0, 24288 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ee8_0), 0, 24296 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ef0_0), 0, 24304 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ef8_0), 0, 24312 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ef9_0), 0, 24313 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5efa_0), 0, 24314 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5efb_0), 0, 24315 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5efc_0), 0, 24316 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5fc0_0), 0, 24512 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5fc8_0), 0, 24520 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5fd0_0), 0, 24528 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5fd8_0), 0, 24536 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5fe0_0), 0, 24544 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5fe8_0), 0, 24552 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ff0_0), 0, 24560 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ff8_0), 0, 24568 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ff9_0), 0, 24569 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ffa_0), 0, 24570 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5ffb_0), 0, 24571 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5ffc_0), 0, 24572 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_6000_0), 0, 24576 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6001_0), 0, 24577 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_60ff_0), 0, 24831 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6100_0), 0, 24832 }, /* BSR.W #.W */ +{ CPUFUNC_FF(op_6101_0), 0, 24833 }, /* BSR.B # */ +{ CPUFUNC_FF(op_61ff_0), 0, 25087 }, /* BSR.L #.L */ +{ CPUFUNC_FF(op_6200_0), 0, 25088 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6201_0), 0, 25089 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_62ff_0), 0, 25343 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6300_0), 0, 25344 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6301_0), 0, 25345 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_63ff_0), 0, 25599 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6400_0), 0, 25600 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6401_0), 0, 25601 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_64ff_0), 0, 25855 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6500_0), 0, 25856 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6501_0), 0, 25857 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_65ff_0), 0, 26111 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6600_0), 0, 26112 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6601_0), 0, 26113 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_66ff_0), 0, 26367 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6700_0), 0, 26368 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6701_0), 0, 26369 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_67ff_0), 0, 26623 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6800_0), 0, 26624 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6801_0), 0, 26625 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_68ff_0), 0, 26879 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6900_0), 0, 26880 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6901_0), 0, 26881 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_69ff_0), 0, 27135 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6a00_0), 0, 27136 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6a01_0), 0, 27137 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6aff_0), 0, 27391 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6b00_0), 0, 27392 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6b01_0), 0, 27393 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6bff_0), 0, 27647 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6c00_0), 0, 27648 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6c01_0), 0, 27649 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6cff_0), 0, 27903 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6d00_0), 0, 27904 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6d01_0), 0, 27905 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6dff_0), 0, 28159 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6e00_0), 0, 28160 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6e01_0), 0, 28161 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6eff_0), 0, 28415 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6f00_0), 0, 28416 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6f01_0), 0, 28417 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6fff_0), 0, 28671 }, /* Bcc.L #.L */ +{ CPUFUNC(op_7000_0), 0, 28672 }, /* MOVE.L #,Dn */ +{ CPUFUNC_FF(op_7100_0), 0, 28928 }, /* EMULOP_RETURN.L */ +{ CPUFUNC_FF(op_7101_0), 0, 28929 }, /* EMULOP.L # */ +{ CPUFUNC(op_8000_0), 0, 32768 }, /* OR.B Dn,Dn */ +{ CPUFUNC(op_8010_0), 0, 32784 }, /* OR.B (An),Dn */ +{ CPUFUNC(op_8018_0), 0, 32792 }, /* OR.B (An)+,Dn */ +{ CPUFUNC(op_8020_0), 0, 32800 }, /* OR.B -(An),Dn */ +{ CPUFUNC(op_8028_0), 0, 32808 }, /* OR.B (d16,An),Dn */ +{ CPUFUNC(op_8030_0), 0, 32816 }, /* OR.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_8038_0), 0, 32824 }, /* OR.B (xxx).W,Dn */ +{ CPUFUNC(op_8039_0), 0, 32825 }, /* OR.B (xxx).L,Dn */ +{ CPUFUNC(op_803a_0), 0, 32826 }, /* OR.B (d16,PC),Dn */ +{ CPUFUNC(op_803b_0), 0, 32827 }, /* OR.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_803c_0), 0, 32828 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_8040_0), 0, 32832 }, /* OR.W Dn,Dn */ +{ CPUFUNC(op_8050_0), 0, 32848 }, /* OR.W (An),Dn */ +{ CPUFUNC(op_8058_0), 0, 32856 }, /* OR.W (An)+,Dn */ +{ CPUFUNC(op_8060_0), 0, 32864 }, /* OR.W -(An),Dn */ +{ CPUFUNC(op_8068_0), 0, 32872 }, /* OR.W (d16,An),Dn */ +{ CPUFUNC(op_8070_0), 0, 32880 }, /* OR.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_8078_0), 0, 32888 }, /* OR.W (xxx).W,Dn */ +{ CPUFUNC(op_8079_0), 0, 32889 }, /* OR.W (xxx).L,Dn */ +{ CPUFUNC(op_807a_0), 0, 32890 }, /* OR.W (d16,PC),Dn */ +{ CPUFUNC(op_807b_0), 0, 32891 }, /* OR.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_807c_0), 0, 32892 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_8080_0), 0, 32896 }, /* OR.L Dn,Dn */ +{ CPUFUNC(op_8090_0), 0, 32912 }, /* OR.L (An),Dn */ +{ CPUFUNC(op_8098_0), 0, 32920 }, /* OR.L (An)+,Dn */ +{ CPUFUNC(op_80a0_0), 0, 32928 }, /* OR.L -(An),Dn */ +{ CPUFUNC(op_80a8_0), 0, 32936 }, /* OR.L (d16,An),Dn */ +{ CPUFUNC(op_80b0_0), 0, 32944 }, /* OR.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_80b8_0), 0, 32952 }, /* OR.L (xxx).W,Dn */ +{ CPUFUNC(op_80b9_0), 0, 32953 }, /* OR.L (xxx).L,Dn */ +{ CPUFUNC(op_80ba_0), 0, 32954 }, /* OR.L (d16,PC),Dn */ +{ CPUFUNC(op_80bb_0), 0, 32955 }, /* OR.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80bc_0), 0, 32956 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_80c0_0), 0, 32960 }, /* DIVU.W Dn,Dn */ +{ CPUFUNC(op_80d0_0), 0, 32976 }, /* DIVU.W (An),Dn */ +{ CPUFUNC(op_80d8_0), 0, 32984 }, /* DIVU.W (An)+,Dn */ +{ CPUFUNC(op_80e0_0), 0, 32992 }, /* DIVU.W -(An),Dn */ +{ CPUFUNC(op_80e8_0), 0, 33000 }, /* DIVU.W (d16,An),Dn */ +{ CPUFUNC(op_80f0_0), 0, 33008 }, /* DIVU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_80f8_0), 0, 33016 }, /* DIVU.W (xxx).W,Dn */ +{ CPUFUNC(op_80f9_0), 0, 33017 }, /* DIVU.W (xxx).L,Dn */ +{ CPUFUNC(op_80fa_0), 0, 33018 }, /* DIVU.W (d16,PC),Dn */ +{ CPUFUNC(op_80fb_0), 0, 33019 }, /* DIVU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80fc_0), 0, 33020 }, /* DIVU.W #.W,Dn */ +{ CPUFUNC(op_8100_1), 0, 33024 }, /* SBCD.B Dn,Dn */ +{ CPUFUNC(op_8108_1), 0, 33032 }, /* SBCD.B -(An),-(An) */ +{ CPUFUNC(op_8110_0), 0, 33040 }, /* OR.B Dn,(An) */ +{ CPUFUNC(op_8118_0), 0, 33048 }, /* OR.B Dn,(An)+ */ +{ CPUFUNC(op_8120_0), 0, 33056 }, /* OR.B Dn,-(An) */ +{ CPUFUNC(op_8128_0), 0, 33064 }, /* OR.B Dn,(d16,An) */ +{ CPUFUNC(op_8130_0), 0, 33072 }, /* OR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8138_0), 0, 33080 }, /* OR.B Dn,(xxx).W */ +{ CPUFUNC(op_8139_0), 0, 33081 }, /* OR.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_8140_0), 0, 33088 }, /* PACK.L Dn,Dn */ +{ CPUFUNC_FF(op_8148_0), 0, 33096 }, /* PACK.L -(An),-(An) */ +{ CPUFUNC(op_8150_0), 0, 33104 }, /* OR.W Dn,(An) */ +{ CPUFUNC(op_8158_0), 0, 33112 }, /* OR.W Dn,(An)+ */ +{ CPUFUNC(op_8160_0), 0, 33120 }, /* OR.W Dn,-(An) */ +{ CPUFUNC(op_8168_0), 0, 33128 }, /* OR.W Dn,(d16,An) */ +{ CPUFUNC(op_8170_0), 0, 33136 }, /* OR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8178_0), 0, 33144 }, /* OR.W Dn,(xxx).W */ +{ CPUFUNC(op_8179_0), 0, 33145 }, /* OR.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_8180_0), 0, 33152 }, /* UNPK.L Dn,Dn */ +{ CPUFUNC_FF(op_8188_0), 0, 33160 }, /* UNPK.L -(An),-(An) */ +{ CPUFUNC(op_8190_0), 0, 33168 }, /* OR.L Dn,(An) */ +{ CPUFUNC(op_8198_0), 0, 33176 }, /* OR.L Dn,(An)+ */ +{ CPUFUNC(op_81a0_0), 0, 33184 }, /* OR.L Dn,-(An) */ +{ CPUFUNC(op_81a8_0), 0, 33192 }, /* OR.L Dn,(d16,An) */ +{ CPUFUNC(op_81b0_0), 0, 33200 }, /* OR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_81b8_0), 0, 33208 }, /* OR.L Dn,(xxx).W */ +{ CPUFUNC(op_81b9_0), 0, 33209 }, /* OR.L Dn,(xxx).L */ +{ CPUFUNC(op_81c0_0), 0, 33216 }, /* DIVS.W Dn,Dn */ +{ CPUFUNC(op_81d0_0), 0, 33232 }, /* DIVS.W (An),Dn */ +{ CPUFUNC(op_81d8_0), 0, 33240 }, /* DIVS.W (An)+,Dn */ +{ CPUFUNC(op_81e0_0), 0, 33248 }, /* DIVS.W -(An),Dn */ +{ CPUFUNC(op_81e8_0), 0, 33256 }, /* DIVS.W (d16,An),Dn */ +{ CPUFUNC(op_81f0_0), 0, 33264 }, /* DIVS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_81f8_0), 0, 33272 }, /* DIVS.W (xxx).W,Dn */ +{ CPUFUNC(op_81f9_0), 0, 33273 }, /* DIVS.W (xxx).L,Dn */ +{ CPUFUNC(op_81fa_0), 0, 33274 }, /* DIVS.W (d16,PC),Dn */ +{ CPUFUNC(op_81fb_0), 0, 33275 }, /* DIVS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_81fc_0), 0, 33276 }, /* DIVS.W #.W,Dn */ +{ CPUFUNC(op_9000_0), 0, 36864 }, /* SUB.B Dn,Dn */ +{ CPUFUNC(op_9010_0), 0, 36880 }, /* SUB.B (An),Dn */ +{ CPUFUNC(op_9018_0), 0, 36888 }, /* SUB.B (An)+,Dn */ +{ CPUFUNC(op_9020_0), 0, 36896 }, /* SUB.B -(An),Dn */ +{ CPUFUNC(op_9028_0), 0, 36904 }, /* SUB.B (d16,An),Dn */ +{ CPUFUNC(op_9030_0), 0, 36912 }, /* SUB.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_9038_0), 0, 36920 }, /* SUB.B (xxx).W,Dn */ +{ CPUFUNC(op_9039_0), 0, 36921 }, /* SUB.B (xxx).L,Dn */ +{ CPUFUNC(op_903a_0), 0, 36922 }, /* SUB.B (d16,PC),Dn */ +{ CPUFUNC(op_903b_0), 0, 36923 }, /* SUB.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_903c_0), 0, 36924 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_9040_0), 0, 36928 }, /* SUB.W Dn,Dn */ +{ CPUFUNC(op_9048_0), 0, 36936 }, /* SUB.W An,Dn */ +{ CPUFUNC(op_9050_0), 0, 36944 }, /* SUB.W (An),Dn */ +{ CPUFUNC(op_9058_0), 0, 36952 }, /* SUB.W (An)+,Dn */ +{ CPUFUNC(op_9060_0), 0, 36960 }, /* SUB.W -(An),Dn */ +{ CPUFUNC(op_9068_0), 0, 36968 }, /* SUB.W (d16,An),Dn */ +{ CPUFUNC(op_9070_0), 0, 36976 }, /* SUB.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_9078_0), 0, 36984 }, /* SUB.W (xxx).W,Dn */ +{ CPUFUNC(op_9079_0), 0, 36985 }, /* SUB.W (xxx).L,Dn */ +{ CPUFUNC(op_907a_0), 0, 36986 }, /* SUB.W (d16,PC),Dn */ +{ CPUFUNC(op_907b_0), 0, 36987 }, /* SUB.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_907c_0), 0, 36988 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_9080_0), 0, 36992 }, /* SUB.L Dn,Dn */ +{ CPUFUNC(op_9088_0), 0, 37000 }, /* SUB.L An,Dn */ +{ CPUFUNC(op_9090_0), 0, 37008 }, /* SUB.L (An),Dn */ +{ CPUFUNC(op_9098_0), 0, 37016 }, /* SUB.L (An)+,Dn */ +{ CPUFUNC(op_90a0_0), 0, 37024 }, /* SUB.L -(An),Dn */ +{ CPUFUNC(op_90a8_0), 0, 37032 }, /* SUB.L (d16,An),Dn */ +{ CPUFUNC(op_90b0_0), 0, 37040 }, /* SUB.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_90b8_0), 0, 37048 }, /* SUB.L (xxx).W,Dn */ +{ CPUFUNC(op_90b9_0), 0, 37049 }, /* SUB.L (xxx).L,Dn */ +{ CPUFUNC(op_90ba_0), 0, 37050 }, /* SUB.L (d16,PC),Dn */ +{ CPUFUNC(op_90bb_0), 0, 37051 }, /* SUB.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_90bc_0), 0, 37052 }, /* SUB.L #.L,Dn */ +{ CPUFUNC_FF(op_90c0_0), 0, 37056 }, /* SUBA.W Dn,An */ +{ CPUFUNC_FF(op_90c8_0), 0, 37064 }, /* SUBA.W An,An */ +{ CPUFUNC_FF(op_90d0_0), 0, 37072 }, /* SUBA.W (An),An */ +{ CPUFUNC_FF(op_90d8_0), 0, 37080 }, /* SUBA.W (An)+,An */ +{ CPUFUNC_FF(op_90e0_0), 0, 37088 }, /* SUBA.W -(An),An */ +{ CPUFUNC_FF(op_90e8_0), 0, 37096 }, /* SUBA.W (d16,An),An */ +{ CPUFUNC_FF(op_90f0_0), 0, 37104 }, /* SUBA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_90f8_0), 0, 37112 }, /* SUBA.W (xxx).W,An */ +{ CPUFUNC_FF(op_90f9_0), 0, 37113 }, /* SUBA.W (xxx).L,An */ +{ CPUFUNC_FF(op_90fa_0), 0, 37114 }, /* SUBA.W (d16,PC),An */ +{ CPUFUNC_FF(op_90fb_0), 0, 37115 }, /* SUBA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_90fc_0), 0, 37116 }, /* SUBA.W #.W,An */ +{ CPUFUNC(op_9100_0), 0, 37120 }, /* SUBX.B Dn,Dn */ +{ CPUFUNC(op_9108_0), 0, 37128 }, /* SUBX.B -(An),-(An) */ +{ CPUFUNC(op_9110_0), 0, 37136 }, /* SUB.B Dn,(An) */ +{ CPUFUNC(op_9118_0), 0, 37144 }, /* SUB.B Dn,(An)+ */ +{ CPUFUNC(op_9120_0), 0, 37152 }, /* SUB.B Dn,-(An) */ +{ CPUFUNC(op_9128_0), 0, 37160 }, /* SUB.B Dn,(d16,An) */ +{ CPUFUNC(op_9130_0), 0, 37168 }, /* SUB.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9138_0), 0, 37176 }, /* SUB.B Dn,(xxx).W */ +{ CPUFUNC(op_9139_0), 0, 37177 }, /* SUB.B Dn,(xxx).L */ +{ CPUFUNC(op_9140_0), 0, 37184 }, /* SUBX.W Dn,Dn */ +{ CPUFUNC(op_9148_0), 0, 37192 }, /* SUBX.W -(An),-(An) */ +{ CPUFUNC(op_9150_0), 0, 37200 }, /* SUB.W Dn,(An) */ +{ CPUFUNC(op_9158_0), 0, 37208 }, /* SUB.W Dn,(An)+ */ +{ CPUFUNC(op_9160_0), 0, 37216 }, /* SUB.W Dn,-(An) */ +{ CPUFUNC(op_9168_0), 0, 37224 }, /* SUB.W Dn,(d16,An) */ +{ CPUFUNC(op_9170_0), 0, 37232 }, /* SUB.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9178_0), 0, 37240 }, /* SUB.W Dn,(xxx).W */ +{ CPUFUNC(op_9179_0), 0, 37241 }, /* SUB.W Dn,(xxx).L */ +{ CPUFUNC(op_9180_0), 0, 37248 }, /* SUBX.L Dn,Dn */ +{ CPUFUNC(op_9188_0), 0, 37256 }, /* SUBX.L -(An),-(An) */ +{ CPUFUNC(op_9190_0), 0, 37264 }, /* SUB.L Dn,(An) */ +{ CPUFUNC(op_9198_0), 0, 37272 }, /* SUB.L Dn,(An)+ */ +{ CPUFUNC(op_91a0_0), 0, 37280 }, /* SUB.L Dn,-(An) */ +{ CPUFUNC(op_91a8_0), 0, 37288 }, /* SUB.L Dn,(d16,An) */ +{ CPUFUNC(op_91b0_0), 0, 37296 }, /* SUB.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_91b8_0), 0, 37304 }, /* SUB.L Dn,(xxx).W */ +{ CPUFUNC(op_91b9_0), 0, 37305 }, /* SUB.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_91c0_0), 0, 37312 }, /* SUBA.L Dn,An */ +{ CPUFUNC_FF(op_91c8_0), 0, 37320 }, /* SUBA.L An,An */ +{ CPUFUNC_FF(op_91d0_0), 0, 37328 }, /* SUBA.L (An),An */ +{ CPUFUNC_FF(op_91d8_0), 0, 37336 }, /* SUBA.L (An)+,An */ +{ CPUFUNC_FF(op_91e0_0), 0, 37344 }, /* SUBA.L -(An),An */ +{ CPUFUNC_FF(op_91e8_0), 0, 37352 }, /* SUBA.L (d16,An),An */ +{ CPUFUNC_FF(op_91f0_0), 0, 37360 }, /* SUBA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_91f8_0), 0, 37368 }, /* SUBA.L (xxx).W,An */ +{ CPUFUNC_FF(op_91f9_0), 0, 37369 }, /* SUBA.L (xxx).L,An */ +{ CPUFUNC_FF(op_91fa_0), 0, 37370 }, /* SUBA.L (d16,PC),An */ +{ CPUFUNC_FF(op_91fb_0), 0, 37371 }, /* SUBA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_91fc_0), 0, 37372 }, /* SUBA.L #.L,An */ +{ CPUFUNC(op_b000_0), 0, 45056 }, /* CMP.B Dn,Dn */ +{ CPUFUNC(op_b010_0), 0, 45072 }, /* CMP.B (An),Dn */ +{ CPUFUNC(op_b018_0), 0, 45080 }, /* CMP.B (An)+,Dn */ +{ CPUFUNC(op_b020_0), 0, 45088 }, /* CMP.B -(An),Dn */ +{ CPUFUNC(op_b028_0), 0, 45096 }, /* CMP.B (d16,An),Dn */ +{ CPUFUNC(op_b030_0), 0, 45104 }, /* CMP.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_b038_0), 0, 45112 }, /* CMP.B (xxx).W,Dn */ +{ CPUFUNC(op_b039_0), 0, 45113 }, /* CMP.B (xxx).L,Dn */ +{ CPUFUNC(op_b03a_0), 0, 45114 }, /* CMP.B (d16,PC),Dn */ +{ CPUFUNC(op_b03b_0), 0, 45115 }, /* CMP.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b03c_0), 0, 45116 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_b040_0), 0, 45120 }, /* CMP.W Dn,Dn */ +{ CPUFUNC(op_b048_0), 0, 45128 }, /* CMP.W An,Dn */ +{ CPUFUNC(op_b050_0), 0, 45136 }, /* CMP.W (An),Dn */ +{ CPUFUNC(op_b058_0), 0, 45144 }, /* CMP.W (An)+,Dn */ +{ CPUFUNC(op_b060_0), 0, 45152 }, /* CMP.W -(An),Dn */ +{ CPUFUNC(op_b068_0), 0, 45160 }, /* CMP.W (d16,An),Dn */ +{ CPUFUNC(op_b070_0), 0, 45168 }, /* CMP.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_b078_0), 0, 45176 }, /* CMP.W (xxx).W,Dn */ +{ CPUFUNC(op_b079_0), 0, 45177 }, /* CMP.W (xxx).L,Dn */ +{ CPUFUNC(op_b07a_0), 0, 45178 }, /* CMP.W (d16,PC),Dn */ +{ CPUFUNC(op_b07b_0), 0, 45179 }, /* CMP.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b07c_0), 0, 45180 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_b080_0), 0, 45184 }, /* CMP.L Dn,Dn */ +{ CPUFUNC(op_b088_0), 0, 45192 }, /* CMP.L An,Dn */ +{ CPUFUNC(op_b090_0), 0, 45200 }, /* CMP.L (An),Dn */ +{ CPUFUNC(op_b098_0), 0, 45208 }, /* CMP.L (An)+,Dn */ +{ CPUFUNC(op_b0a0_0), 0, 45216 }, /* CMP.L -(An),Dn */ +{ CPUFUNC(op_b0a8_0), 0, 45224 }, /* CMP.L (d16,An),Dn */ +{ CPUFUNC(op_b0b0_0), 0, 45232 }, /* CMP.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_b0b8_0), 0, 45240 }, /* CMP.L (xxx).W,Dn */ +{ CPUFUNC(op_b0b9_0), 0, 45241 }, /* CMP.L (xxx).L,Dn */ +{ CPUFUNC(op_b0ba_0), 0, 45242 }, /* CMP.L (d16,PC),Dn */ +{ CPUFUNC(op_b0bb_0), 0, 45243 }, /* CMP.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b0bc_0), 0, 45244 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_b0c0_0), 0, 45248 }, /* CMPA.W Dn,An */ +{ CPUFUNC(op_b0c8_0), 0, 45256 }, /* CMPA.W An,An */ +{ CPUFUNC(op_b0d0_0), 0, 45264 }, /* CMPA.W (An),An */ +{ CPUFUNC(op_b0d8_0), 0, 45272 }, /* CMPA.W (An)+,An */ +{ CPUFUNC(op_b0e0_0), 0, 45280 }, /* CMPA.W -(An),An */ +{ CPUFUNC(op_b0e8_0), 0, 45288 }, /* CMPA.W (d16,An),An */ +{ CPUFUNC(op_b0f0_0), 0, 45296 }, /* CMPA.W (d8,An,Xn),An */ +{ CPUFUNC(op_b0f8_0), 0, 45304 }, /* CMPA.W (xxx).W,An */ +{ CPUFUNC(op_b0f9_0), 0, 45305 }, /* CMPA.W (xxx).L,An */ +{ CPUFUNC(op_b0fa_0), 0, 45306 }, /* CMPA.W (d16,PC),An */ +{ CPUFUNC(op_b0fb_0), 0, 45307 }, /* CMPA.W (d8,PC,Xn),An */ +{ CPUFUNC(op_b0fc_0), 0, 45308 }, /* CMPA.W #.W,An */ +{ CPUFUNC(op_b100_0), 0, 45312 }, /* EOR.B Dn,Dn */ +{ CPUFUNC(op_b108_0), 0, 45320 }, /* CMPM.B (An)+,(An)+ */ +{ CPUFUNC(op_b110_0), 0, 45328 }, /* EOR.B Dn,(An) */ +{ CPUFUNC(op_b118_0), 0, 45336 }, /* EOR.B Dn,(An)+ */ +{ CPUFUNC(op_b120_0), 0, 45344 }, /* EOR.B Dn,-(An) */ +{ CPUFUNC(op_b128_0), 0, 45352 }, /* EOR.B Dn,(d16,An) */ +{ CPUFUNC(op_b130_0), 0, 45360 }, /* EOR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b138_0), 0, 45368 }, /* EOR.B Dn,(xxx).W */ +{ CPUFUNC(op_b139_0), 0, 45369 }, /* EOR.B Dn,(xxx).L */ +{ CPUFUNC(op_b140_0), 0, 45376 }, /* EOR.W Dn,Dn */ +{ CPUFUNC(op_b148_0), 0, 45384 }, /* CMPM.W (An)+,(An)+ */ +{ CPUFUNC(op_b150_0), 0, 45392 }, /* EOR.W Dn,(An) */ +{ CPUFUNC(op_b158_0), 0, 45400 }, /* EOR.W Dn,(An)+ */ +{ CPUFUNC(op_b160_0), 0, 45408 }, /* EOR.W Dn,-(An) */ +{ CPUFUNC(op_b168_0), 0, 45416 }, /* EOR.W Dn,(d16,An) */ +{ CPUFUNC(op_b170_0), 0, 45424 }, /* EOR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b178_0), 0, 45432 }, /* EOR.W Dn,(xxx).W */ +{ CPUFUNC(op_b179_0), 0, 45433 }, /* EOR.W Dn,(xxx).L */ +{ CPUFUNC(op_b180_0), 0, 45440 }, /* EOR.L Dn,Dn */ +{ CPUFUNC(op_b188_0), 0, 45448 }, /* CMPM.L (An)+,(An)+ */ +{ CPUFUNC(op_b190_0), 0, 45456 }, /* EOR.L Dn,(An) */ +{ CPUFUNC(op_b198_0), 0, 45464 }, /* EOR.L Dn,(An)+ */ +{ CPUFUNC(op_b1a0_0), 0, 45472 }, /* EOR.L Dn,-(An) */ +{ CPUFUNC(op_b1a8_0), 0, 45480 }, /* EOR.L Dn,(d16,An) */ +{ CPUFUNC(op_b1b0_0), 0, 45488 }, /* EOR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b1b8_0), 0, 45496 }, /* EOR.L Dn,(xxx).W */ +{ CPUFUNC(op_b1b9_0), 0, 45497 }, /* EOR.L Dn,(xxx).L */ +{ CPUFUNC(op_b1c0_0), 0, 45504 }, /* CMPA.L Dn,An */ +{ CPUFUNC(op_b1c8_0), 0, 45512 }, /* CMPA.L An,An */ +{ CPUFUNC(op_b1d0_0), 0, 45520 }, /* CMPA.L (An),An */ +{ CPUFUNC(op_b1d8_0), 0, 45528 }, /* CMPA.L (An)+,An */ +{ CPUFUNC(op_b1e0_0), 0, 45536 }, /* CMPA.L -(An),An */ +{ CPUFUNC(op_b1e8_0), 0, 45544 }, /* CMPA.L (d16,An),An */ +{ CPUFUNC(op_b1f0_0), 0, 45552 }, /* CMPA.L (d8,An,Xn),An */ +{ CPUFUNC(op_b1f8_0), 0, 45560 }, /* CMPA.L (xxx).W,An */ +{ CPUFUNC(op_b1f9_0), 0, 45561 }, /* CMPA.L (xxx).L,An */ +{ CPUFUNC(op_b1fa_0), 0, 45562 }, /* CMPA.L (d16,PC),An */ +{ CPUFUNC(op_b1fb_0), 0, 45563 }, /* CMPA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_b1fc_0), 0, 45564 }, /* CMPA.L #.L,An */ +{ CPUFUNC(op_c000_0), 0, 49152 }, /* AND.B Dn,Dn */ +{ CPUFUNC(op_c010_0), 0, 49168 }, /* AND.B (An),Dn */ +{ CPUFUNC(op_c018_0), 0, 49176 }, /* AND.B (An)+,Dn */ +{ CPUFUNC(op_c020_0), 0, 49184 }, /* AND.B -(An),Dn */ +{ CPUFUNC(op_c028_0), 0, 49192 }, /* AND.B (d16,An),Dn */ +{ CPUFUNC(op_c030_0), 0, 49200 }, /* AND.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_c038_0), 0, 49208 }, /* AND.B (xxx).W,Dn */ +{ CPUFUNC(op_c039_0), 0, 49209 }, /* AND.B (xxx).L,Dn */ +{ CPUFUNC(op_c03a_0), 0, 49210 }, /* AND.B (d16,PC),Dn */ +{ CPUFUNC(op_c03b_0), 0, 49211 }, /* AND.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c03c_0), 0, 49212 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_c040_0), 0, 49216 }, /* AND.W Dn,Dn */ +{ CPUFUNC(op_c050_0), 0, 49232 }, /* AND.W (An),Dn */ +{ CPUFUNC(op_c058_0), 0, 49240 }, /* AND.W (An)+,Dn */ +{ CPUFUNC(op_c060_0), 0, 49248 }, /* AND.W -(An),Dn */ +{ CPUFUNC(op_c068_0), 0, 49256 }, /* AND.W (d16,An),Dn */ +{ CPUFUNC(op_c070_0), 0, 49264 }, /* AND.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c078_0), 0, 49272 }, /* AND.W (xxx).W,Dn */ +{ CPUFUNC(op_c079_0), 0, 49273 }, /* AND.W (xxx).L,Dn */ +{ CPUFUNC(op_c07a_0), 0, 49274 }, /* AND.W (d16,PC),Dn */ +{ CPUFUNC(op_c07b_0), 0, 49275 }, /* AND.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c07c_0), 0, 49276 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_c080_0), 0, 49280 }, /* AND.L Dn,Dn */ +{ CPUFUNC(op_c090_0), 0, 49296 }, /* AND.L (An),Dn */ +{ CPUFUNC(op_c098_0), 0, 49304 }, /* AND.L (An)+,Dn */ +{ CPUFUNC(op_c0a0_0), 0, 49312 }, /* AND.L -(An),Dn */ +{ CPUFUNC(op_c0a8_0), 0, 49320 }, /* AND.L (d16,An),Dn */ +{ CPUFUNC(op_c0b0_0), 0, 49328 }, /* AND.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0b8_0), 0, 49336 }, /* AND.L (xxx).W,Dn */ +{ CPUFUNC(op_c0b9_0), 0, 49337 }, /* AND.L (xxx).L,Dn */ +{ CPUFUNC(op_c0ba_0), 0, 49338 }, /* AND.L (d16,PC),Dn */ +{ CPUFUNC(op_c0bb_0), 0, 49339 }, /* AND.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0bc_0), 0, 49340 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_c0c0_0), 0, 49344 }, /* MULU.W Dn,Dn */ +{ CPUFUNC(op_c0d0_0), 0, 49360 }, /* MULU.W (An),Dn */ +{ CPUFUNC(op_c0d8_0), 0, 49368 }, /* MULU.W (An)+,Dn */ +{ CPUFUNC(op_c0e0_0), 0, 49376 }, /* MULU.W -(An),Dn */ +{ CPUFUNC(op_c0e8_0), 0, 49384 }, /* MULU.W (d16,An),Dn */ +{ CPUFUNC(op_c0f0_0), 0, 49392 }, /* MULU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0f8_0), 0, 49400 }, /* MULU.W (xxx).W,Dn */ +{ CPUFUNC(op_c0f9_0), 0, 49401 }, /* MULU.W (xxx).L,Dn */ +{ CPUFUNC(op_c0fa_0), 0, 49402 }, /* MULU.W (d16,PC),Dn */ +{ CPUFUNC(op_c0fb_0), 0, 49403 }, /* MULU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0fc_0), 0, 49404 }, /* MULU.W #.W,Dn */ +{ CPUFUNC(op_c100_1), 0, 49408 }, /* ABCD.B Dn,Dn */ +{ CPUFUNC(op_c108_1), 0, 49416 }, /* ABCD.B -(An),-(An) */ +{ CPUFUNC(op_c110_0), 0, 49424 }, /* AND.B Dn,(An) */ +{ CPUFUNC(op_c118_0), 0, 49432 }, /* AND.B Dn,(An)+ */ +{ CPUFUNC(op_c120_0), 0, 49440 }, /* AND.B Dn,-(An) */ +{ CPUFUNC(op_c128_0), 0, 49448 }, /* AND.B Dn,(d16,An) */ +{ CPUFUNC(op_c130_0), 0, 49456 }, /* AND.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c138_0), 0, 49464 }, /* AND.B Dn,(xxx).W */ +{ CPUFUNC(op_c139_0), 0, 49465 }, /* AND.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_c140_0), 0, 49472 }, /* EXG.L Dn,Dn */ +{ CPUFUNC_FF(op_c148_0), 0, 49480 }, /* EXG.L An,An */ +{ CPUFUNC(op_c150_0), 0, 49488 }, /* AND.W Dn,(An) */ +{ CPUFUNC(op_c158_0), 0, 49496 }, /* AND.W Dn,(An)+ */ +{ CPUFUNC(op_c160_0), 0, 49504 }, /* AND.W Dn,-(An) */ +{ CPUFUNC(op_c168_0), 0, 49512 }, /* AND.W Dn,(d16,An) */ +{ CPUFUNC(op_c170_0), 0, 49520 }, /* AND.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c178_0), 0, 49528 }, /* AND.W Dn,(xxx).W */ +{ CPUFUNC(op_c179_0), 0, 49529 }, /* AND.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_c188_0), 0, 49544 }, /* EXG.L Dn,An */ +{ CPUFUNC(op_c190_0), 0, 49552 }, /* AND.L Dn,(An) */ +{ CPUFUNC(op_c198_0), 0, 49560 }, /* AND.L Dn,(An)+ */ +{ CPUFUNC(op_c1a0_0), 0, 49568 }, /* AND.L Dn,-(An) */ +{ CPUFUNC(op_c1a8_0), 0, 49576 }, /* AND.L Dn,(d16,An) */ +{ CPUFUNC(op_c1b0_0), 0, 49584 }, /* AND.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c1b8_0), 0, 49592 }, /* AND.L Dn,(xxx).W */ +{ CPUFUNC(op_c1b9_0), 0, 49593 }, /* AND.L Dn,(xxx).L */ +{ CPUFUNC(op_c1c0_0), 0, 49600 }, /* MULS.W Dn,Dn */ +{ CPUFUNC(op_c1d0_0), 0, 49616 }, /* MULS.W (An),Dn */ +{ CPUFUNC(op_c1d8_0), 0, 49624 }, /* MULS.W (An)+,Dn */ +{ CPUFUNC(op_c1e0_0), 0, 49632 }, /* MULS.W -(An),Dn */ +{ CPUFUNC(op_c1e8_0), 0, 49640 }, /* MULS.W (d16,An),Dn */ +{ CPUFUNC(op_c1f0_0), 0, 49648 }, /* MULS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c1f8_0), 0, 49656 }, /* MULS.W (xxx).W,Dn */ +{ CPUFUNC(op_c1f9_0), 0, 49657 }, /* MULS.W (xxx).L,Dn */ +{ CPUFUNC(op_c1fa_0), 0, 49658 }, /* MULS.W (d16,PC),Dn */ +{ CPUFUNC(op_c1fb_0), 0, 49659 }, /* MULS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c1fc_0), 0, 49660 }, /* MULS.W #.W,Dn */ +{ CPUFUNC(op_d000_0), 0, 53248 }, /* ADD.B Dn,Dn */ +{ CPUFUNC(op_d010_0), 0, 53264 }, /* ADD.B (An),Dn */ +{ CPUFUNC(op_d018_0), 0, 53272 }, /* ADD.B (An)+,Dn */ +{ CPUFUNC(op_d020_0), 0, 53280 }, /* ADD.B -(An),Dn */ +{ CPUFUNC(op_d028_0), 0, 53288 }, /* ADD.B (d16,An),Dn */ +{ CPUFUNC(op_d030_0), 0, 53296 }, /* ADD.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_d038_0), 0, 53304 }, /* ADD.B (xxx).W,Dn */ +{ CPUFUNC(op_d039_0), 0, 53305 }, /* ADD.B (xxx).L,Dn */ +{ CPUFUNC(op_d03a_0), 0, 53306 }, /* ADD.B (d16,PC),Dn */ +{ CPUFUNC(op_d03b_0), 0, 53307 }, /* ADD.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d03c_0), 0, 53308 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_d040_0), 0, 53312 }, /* ADD.W Dn,Dn */ +{ CPUFUNC(op_d048_0), 0, 53320 }, /* ADD.W An,Dn */ +{ CPUFUNC(op_d050_0), 0, 53328 }, /* ADD.W (An),Dn */ +{ CPUFUNC(op_d058_0), 0, 53336 }, /* ADD.W (An)+,Dn */ +{ CPUFUNC(op_d060_0), 0, 53344 }, /* ADD.W -(An),Dn */ +{ CPUFUNC(op_d068_0), 0, 53352 }, /* ADD.W (d16,An),Dn */ +{ CPUFUNC(op_d070_0), 0, 53360 }, /* ADD.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_d078_0), 0, 53368 }, /* ADD.W (xxx).W,Dn */ +{ CPUFUNC(op_d079_0), 0, 53369 }, /* ADD.W (xxx).L,Dn */ +{ CPUFUNC(op_d07a_0), 0, 53370 }, /* ADD.W (d16,PC),Dn */ +{ CPUFUNC(op_d07b_0), 0, 53371 }, /* ADD.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d07c_0), 0, 53372 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_d080_0), 0, 53376 }, /* ADD.L Dn,Dn */ +{ CPUFUNC(op_d088_0), 0, 53384 }, /* ADD.L An,Dn */ +{ CPUFUNC(op_d090_0), 0, 53392 }, /* ADD.L (An),Dn */ +{ CPUFUNC(op_d098_0), 0, 53400 }, /* ADD.L (An)+,Dn */ +{ CPUFUNC(op_d0a0_0), 0, 53408 }, /* ADD.L -(An),Dn */ +{ CPUFUNC(op_d0a8_0), 0, 53416 }, /* ADD.L (d16,An),Dn */ +{ CPUFUNC(op_d0b0_0), 0, 53424 }, /* ADD.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_d0b8_0), 0, 53432 }, /* ADD.L (xxx).W,Dn */ +{ CPUFUNC(op_d0b9_0), 0, 53433 }, /* ADD.L (xxx).L,Dn */ +{ CPUFUNC(op_d0ba_0), 0, 53434 }, /* ADD.L (d16,PC),Dn */ +{ CPUFUNC(op_d0bb_0), 0, 53435 }, /* ADD.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d0bc_0), 0, 53436 }, /* ADD.L #.L,Dn */ +{ CPUFUNC_FF(op_d0c0_0), 0, 53440 }, /* ADDA.W Dn,An */ +{ CPUFUNC_FF(op_d0c8_0), 0, 53448 }, /* ADDA.W An,An */ +{ CPUFUNC_FF(op_d0d0_0), 0, 53456 }, /* ADDA.W (An),An */ +{ CPUFUNC_FF(op_d0d8_0), 0, 53464 }, /* ADDA.W (An)+,An */ +{ CPUFUNC_FF(op_d0e0_0), 0, 53472 }, /* ADDA.W -(An),An */ +{ CPUFUNC_FF(op_d0e8_0), 0, 53480 }, /* ADDA.W (d16,An),An */ +{ CPUFUNC_FF(op_d0f0_0), 0, 53488 }, /* ADDA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d0f8_0), 0, 53496 }, /* ADDA.W (xxx).W,An */ +{ CPUFUNC_FF(op_d0f9_0), 0, 53497 }, /* ADDA.W (xxx).L,An */ +{ CPUFUNC_FF(op_d0fa_0), 0, 53498 }, /* ADDA.W (d16,PC),An */ +{ CPUFUNC_FF(op_d0fb_0), 0, 53499 }, /* ADDA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d0fc_0), 0, 53500 }, /* ADDA.W #.W,An */ +{ CPUFUNC(op_d100_0), 0, 53504 }, /* ADDX.B Dn,Dn */ +{ CPUFUNC(op_d108_0), 0, 53512 }, /* ADDX.B -(An),-(An) */ +{ CPUFUNC(op_d110_0), 0, 53520 }, /* ADD.B Dn,(An) */ +{ CPUFUNC(op_d118_0), 0, 53528 }, /* ADD.B Dn,(An)+ */ +{ CPUFUNC(op_d120_0), 0, 53536 }, /* ADD.B Dn,-(An) */ +{ CPUFUNC(op_d128_0), 0, 53544 }, /* ADD.B Dn,(d16,An) */ +{ CPUFUNC(op_d130_0), 0, 53552 }, /* ADD.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d138_0), 0, 53560 }, /* ADD.B Dn,(xxx).W */ +{ CPUFUNC(op_d139_0), 0, 53561 }, /* ADD.B Dn,(xxx).L */ +{ CPUFUNC(op_d140_0), 0, 53568 }, /* ADDX.W Dn,Dn */ +{ CPUFUNC(op_d148_0), 0, 53576 }, /* ADDX.W -(An),-(An) */ +{ CPUFUNC(op_d150_0), 0, 53584 }, /* ADD.W Dn,(An) */ +{ CPUFUNC(op_d158_0), 0, 53592 }, /* ADD.W Dn,(An)+ */ +{ CPUFUNC(op_d160_0), 0, 53600 }, /* ADD.W Dn,-(An) */ +{ CPUFUNC(op_d168_0), 0, 53608 }, /* ADD.W Dn,(d16,An) */ +{ CPUFUNC(op_d170_0), 0, 53616 }, /* ADD.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d178_0), 0, 53624 }, /* ADD.W Dn,(xxx).W */ +{ CPUFUNC(op_d179_0), 0, 53625 }, /* ADD.W Dn,(xxx).L */ +{ CPUFUNC(op_d180_0), 0, 53632 }, /* ADDX.L Dn,Dn */ +{ CPUFUNC(op_d188_0), 0, 53640 }, /* ADDX.L -(An),-(An) */ +{ CPUFUNC(op_d190_0), 0, 53648 }, /* ADD.L Dn,(An) */ +{ CPUFUNC(op_d198_0), 0, 53656 }, /* ADD.L Dn,(An)+ */ +{ CPUFUNC(op_d1a0_0), 0, 53664 }, /* ADD.L Dn,-(An) */ +{ CPUFUNC(op_d1a8_0), 0, 53672 }, /* ADD.L Dn,(d16,An) */ +{ CPUFUNC(op_d1b0_0), 0, 53680 }, /* ADD.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d1b8_0), 0, 53688 }, /* ADD.L Dn,(xxx).W */ +{ CPUFUNC(op_d1b9_0), 0, 53689 }, /* ADD.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_d1c0_0), 0, 53696 }, /* ADDA.L Dn,An */ +{ CPUFUNC_FF(op_d1c8_0), 0, 53704 }, /* ADDA.L An,An */ +{ CPUFUNC_FF(op_d1d0_0), 0, 53712 }, /* ADDA.L (An),An */ +{ CPUFUNC_FF(op_d1d8_0), 0, 53720 }, /* ADDA.L (An)+,An */ +{ CPUFUNC_FF(op_d1e0_0), 0, 53728 }, /* ADDA.L -(An),An */ +{ CPUFUNC_FF(op_d1e8_0), 0, 53736 }, /* ADDA.L (d16,An),An */ +{ CPUFUNC_FF(op_d1f0_0), 0, 53744 }, /* ADDA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d1f8_0), 0, 53752 }, /* ADDA.L (xxx).W,An */ +{ CPUFUNC_FF(op_d1f9_0), 0, 53753 }, /* ADDA.L (xxx).L,An */ +{ CPUFUNC_FF(op_d1fa_0), 0, 53754 }, /* ADDA.L (d16,PC),An */ +{ CPUFUNC_FF(op_d1fb_0), 0, 53755 }, /* ADDA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d1fc_0), 0, 53756 }, /* ADDA.L #.L,An */ +{ CPUFUNC(op_e000_0), 0, 57344 }, /* ASR.B #,Dn */ +{ CPUFUNC(op_e008_0), 0, 57352 }, /* LSR.B #,Dn */ +{ CPUFUNC(op_e010_0), 0, 57360 }, /* ROXR.B #,Dn */ +{ CPUFUNC(op_e018_0), 0, 57368 }, /* ROR.B #,Dn */ +{ CPUFUNC(op_e020_0), 0, 57376 }, /* ASR.B Dn,Dn */ +{ CPUFUNC(op_e028_0), 0, 57384 }, /* LSR.B Dn,Dn */ +{ CPUFUNC(op_e030_0), 0, 57392 }, /* ROXR.B Dn,Dn */ +{ CPUFUNC(op_e038_0), 0, 57400 }, /* ROR.B Dn,Dn */ +{ CPUFUNC(op_e040_0), 0, 57408 }, /* ASR.W #,Dn */ +{ CPUFUNC(op_e048_0), 0, 57416 }, /* LSR.W #,Dn */ +{ CPUFUNC(op_e050_0), 0, 57424 }, /* ROXR.W #,Dn */ +{ CPUFUNC(op_e058_0), 0, 57432 }, /* ROR.W #,Dn */ +{ CPUFUNC(op_e060_0), 0, 57440 }, /* ASR.W Dn,Dn */ +{ CPUFUNC(op_e068_0), 0, 57448 }, /* LSR.W Dn,Dn */ +{ CPUFUNC(op_e070_0), 0, 57456 }, /* ROXR.W Dn,Dn */ +{ CPUFUNC(op_e078_0), 0, 57464 }, /* ROR.W Dn,Dn */ +{ CPUFUNC(op_e080_0), 0, 57472 }, /* ASR.L #,Dn */ +{ CPUFUNC(op_e088_0), 0, 57480 }, /* LSR.L #,Dn */ +{ CPUFUNC(op_e090_0), 0, 57488 }, /* ROXR.L #,Dn */ +{ CPUFUNC(op_e098_0), 0, 57496 }, /* ROR.L #,Dn */ +{ CPUFUNC(op_e0a0_0), 0, 57504 }, /* ASR.L Dn,Dn */ +{ CPUFUNC(op_e0a8_0), 0, 57512 }, /* LSR.L Dn,Dn */ +{ CPUFUNC(op_e0b0_0), 0, 57520 }, /* ROXR.L Dn,Dn */ +{ CPUFUNC(op_e0b8_0), 0, 57528 }, /* ROR.L Dn,Dn */ +{ CPUFUNC(op_e0d0_0), 0, 57552 }, /* ASRW.W (An) */ +{ CPUFUNC(op_e0d8_0), 0, 57560 }, /* ASRW.W (An)+ */ +{ CPUFUNC(op_e0e0_0), 0, 57568 }, /* ASRW.W -(An) */ +{ CPUFUNC(op_e0e8_0), 0, 57576 }, /* ASRW.W (d16,An) */ +{ CPUFUNC(op_e0f0_0), 0, 57584 }, /* ASRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e0f8_0), 0, 57592 }, /* ASRW.W (xxx).W */ +{ CPUFUNC(op_e0f9_0), 0, 57593 }, /* ASRW.W (xxx).L */ +{ CPUFUNC(op_e100_0), 0, 57600 }, /* ASL.B #,Dn */ +{ CPUFUNC(op_e108_0), 0, 57608 }, /* LSL.B #,Dn */ +{ CPUFUNC(op_e110_0), 0, 57616 }, /* ROXL.B #,Dn */ +{ CPUFUNC(op_e118_0), 0, 57624 }, /* ROL.B #,Dn */ +{ CPUFUNC(op_e120_0), 0, 57632 }, /* ASL.B Dn,Dn */ +{ CPUFUNC(op_e128_0), 0, 57640 }, /* LSL.B Dn,Dn */ +{ CPUFUNC(op_e130_0), 0, 57648 }, /* ROXL.B Dn,Dn */ +{ CPUFUNC(op_e138_0), 0, 57656 }, /* ROL.B Dn,Dn */ +{ CPUFUNC(op_e140_0), 0, 57664 }, /* ASL.W #,Dn */ +{ CPUFUNC(op_e148_0), 0, 57672 }, /* LSL.W #,Dn */ +{ CPUFUNC(op_e150_0), 0, 57680 }, /* ROXL.W #,Dn */ +{ CPUFUNC(op_e158_0), 0, 57688 }, /* ROL.W #,Dn */ +{ CPUFUNC(op_e160_0), 0, 57696 }, /* ASL.W Dn,Dn */ +{ CPUFUNC(op_e168_0), 0, 57704 }, /* LSL.W Dn,Dn */ +{ CPUFUNC(op_e170_0), 0, 57712 }, /* ROXL.W Dn,Dn */ +{ CPUFUNC(op_e178_0), 0, 57720 }, /* ROL.W Dn,Dn */ +{ CPUFUNC(op_e180_0), 0, 57728 }, /* ASL.L #,Dn */ +{ CPUFUNC(op_e188_0), 0, 57736 }, /* LSL.L #,Dn */ +{ CPUFUNC(op_e190_0), 0, 57744 }, /* ROXL.L #,Dn */ +{ CPUFUNC(op_e198_0), 0, 57752 }, /* ROL.L #,Dn */ +{ CPUFUNC(op_e1a0_0), 0, 57760 }, /* ASL.L Dn,Dn */ +{ CPUFUNC(op_e1a8_0), 0, 57768 }, /* LSL.L Dn,Dn */ +{ CPUFUNC(op_e1b0_0), 0, 57776 }, /* ROXL.L Dn,Dn */ +{ CPUFUNC(op_e1b8_0), 0, 57784 }, /* ROL.L Dn,Dn */ +{ CPUFUNC(op_e1d0_0), 0, 57808 }, /* ASLW.W (An) */ +{ CPUFUNC(op_e1d8_0), 0, 57816 }, /* ASLW.W (An)+ */ +{ CPUFUNC(op_e1e0_0), 0, 57824 }, /* ASLW.W -(An) */ +{ CPUFUNC(op_e1e8_0), 0, 57832 }, /* ASLW.W (d16,An) */ +{ CPUFUNC(op_e1f0_0), 0, 57840 }, /* ASLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e1f8_0), 0, 57848 }, /* ASLW.W (xxx).W */ +{ CPUFUNC(op_e1f9_0), 0, 57849 }, /* ASLW.W (xxx).L */ +{ CPUFUNC(op_e2d0_0), 0, 58064 }, /* LSRW.W (An) */ +{ CPUFUNC(op_e2d8_0), 0, 58072 }, /* LSRW.W (An)+ */ +{ CPUFUNC(op_e2e0_0), 0, 58080 }, /* LSRW.W -(An) */ +{ CPUFUNC(op_e2e8_0), 0, 58088 }, /* LSRW.W (d16,An) */ +{ CPUFUNC(op_e2f0_0), 0, 58096 }, /* LSRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e2f8_0), 0, 58104 }, /* LSRW.W (xxx).W */ +{ CPUFUNC(op_e2f9_0), 0, 58105 }, /* LSRW.W (xxx).L */ +{ CPUFUNC(op_e3d0_0), 0, 58320 }, /* LSLW.W (An) */ +{ CPUFUNC(op_e3d8_0), 0, 58328 }, /* LSLW.W (An)+ */ +{ CPUFUNC(op_e3e0_0), 0, 58336 }, /* LSLW.W -(An) */ +{ CPUFUNC(op_e3e8_0), 0, 58344 }, /* LSLW.W (d16,An) */ +{ CPUFUNC(op_e3f0_0), 0, 58352 }, /* LSLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e3f8_0), 0, 58360 }, /* LSLW.W (xxx).W */ +{ CPUFUNC(op_e3f9_0), 0, 58361 }, /* LSLW.W (xxx).L */ +{ CPUFUNC(op_e4d0_0), 0, 58576 }, /* ROXRW.W (An) */ +{ CPUFUNC(op_e4d8_0), 0, 58584 }, /* ROXRW.W (An)+ */ +{ CPUFUNC(op_e4e0_0), 0, 58592 }, /* ROXRW.W -(An) */ +{ CPUFUNC(op_e4e8_0), 0, 58600 }, /* ROXRW.W (d16,An) */ +{ CPUFUNC(op_e4f0_0), 0, 58608 }, /* ROXRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e4f8_0), 0, 58616 }, /* ROXRW.W (xxx).W */ +{ CPUFUNC(op_e4f9_0), 0, 58617 }, /* ROXRW.W (xxx).L */ +{ CPUFUNC(op_e5d0_0), 0, 58832 }, /* ROXLW.W (An) */ +{ CPUFUNC(op_e5d8_0), 0, 58840 }, /* ROXLW.W (An)+ */ +{ CPUFUNC(op_e5e0_0), 0, 58848 }, /* ROXLW.W -(An) */ +{ CPUFUNC(op_e5e8_0), 0, 58856 }, /* ROXLW.W (d16,An) */ +{ CPUFUNC(op_e5f0_0), 0, 58864 }, /* ROXLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e5f8_0), 0, 58872 }, /* ROXLW.W (xxx).W */ +{ CPUFUNC(op_e5f9_0), 0, 58873 }, /* ROXLW.W (xxx).L */ +{ CPUFUNC(op_e6d0_0), 0, 59088 }, /* RORW.W (An) */ +{ CPUFUNC(op_e6d8_0), 0, 59096 }, /* RORW.W (An)+ */ +{ CPUFUNC(op_e6e0_0), 0, 59104 }, /* RORW.W -(An) */ +{ CPUFUNC(op_e6e8_0), 0, 59112 }, /* RORW.W (d16,An) */ +{ CPUFUNC(op_e6f0_0), 0, 59120 }, /* RORW.W (d8,An,Xn) */ +{ CPUFUNC(op_e6f8_0), 0, 59128 }, /* RORW.W (xxx).W */ +{ CPUFUNC(op_e6f9_0), 0, 59129 }, /* RORW.W (xxx).L */ +{ CPUFUNC(op_e7d0_0), 0, 59344 }, /* ROLW.W (An) */ +{ CPUFUNC(op_e7d8_0), 0, 59352 }, /* ROLW.W (An)+ */ +{ CPUFUNC(op_e7e0_0), 0, 59360 }, /* ROLW.W -(An) */ +{ CPUFUNC(op_e7e8_0), 0, 59368 }, /* ROLW.W (d16,An) */ +{ CPUFUNC(op_e7f0_0), 0, 59376 }, /* ROLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e7f8_0), 0, 59384 }, /* ROLW.W (xxx).W */ +{ CPUFUNC(op_e7f9_0), 0, 59385 }, /* ROLW.W (xxx).L */ +{ CPUFUNC(op_e8c0_0), 0, 59584 }, /* BFTST.L #.W,Dn */ +{ CPUFUNC(op_e8d0_0), 0, 59600 }, /* BFTST.L #.W,(An) */ +{ CPUFUNC(op_e8e8_0), 0, 59624 }, /* BFTST.L #.W,(d16,An) */ +{ CPUFUNC(op_e8f0_0), 0, 59632 }, /* BFTST.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_e8f8_0), 0, 59640 }, /* BFTST.L #.W,(xxx).W */ +{ CPUFUNC(op_e8f9_0), 0, 59641 }, /* BFTST.L #.W,(xxx).L */ +{ CPUFUNC(op_e8fa_0), 0, 59642 }, /* BFTST.L #.W,(d16,PC) */ +{ CPUFUNC(op_e8fb_0), 0, 59643 }, /* BFTST.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_e9c0_0), 0, 59840 }, /* BFEXTU.L #.W,Dn */ +{ CPUFUNC(op_e9d0_0), 0, 59856 }, /* BFEXTU.L #.W,(An) */ +{ CPUFUNC(op_e9e8_0), 0, 59880 }, /* BFEXTU.L #.W,(d16,An) */ +{ CPUFUNC(op_e9f0_0), 0, 59888 }, /* BFEXTU.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_e9f8_0), 0, 59896 }, /* BFEXTU.L #.W,(xxx).W */ +{ CPUFUNC(op_e9f9_0), 0, 59897 }, /* BFEXTU.L #.W,(xxx).L */ +{ CPUFUNC(op_e9fa_0), 0, 59898 }, /* BFEXTU.L #.W,(d16,PC) */ +{ CPUFUNC(op_e9fb_0), 0, 59899 }, /* BFEXTU.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_eac0_0), 0, 60096 }, /* BFCHG.L #.W,Dn */ +{ CPUFUNC(op_ead0_0), 0, 60112 }, /* BFCHG.L #.W,(An) */ +{ CPUFUNC(op_eae8_0), 0, 60136 }, /* BFCHG.L #.W,(d16,An) */ +{ CPUFUNC(op_eaf0_0), 0, 60144 }, /* BFCHG.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eaf8_0), 0, 60152 }, /* BFCHG.L #.W,(xxx).W */ +{ CPUFUNC(op_eaf9_0), 0, 60153 }, /* BFCHG.L #.W,(xxx).L */ +{ CPUFUNC(op_ebc0_0), 0, 60352 }, /* BFEXTS.L #.W,Dn */ +{ CPUFUNC(op_ebd0_0), 0, 60368 }, /* BFEXTS.L #.W,(An) */ +{ CPUFUNC(op_ebe8_0), 0, 60392 }, /* BFEXTS.L #.W,(d16,An) */ +{ CPUFUNC(op_ebf0_0), 0, 60400 }, /* BFEXTS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ebf8_0), 0, 60408 }, /* BFEXTS.L #.W,(xxx).W */ +{ CPUFUNC(op_ebf9_0), 0, 60409 }, /* BFEXTS.L #.W,(xxx).L */ +{ CPUFUNC(op_ebfa_0), 0, 60410 }, /* BFEXTS.L #.W,(d16,PC) */ +{ CPUFUNC(op_ebfb_0), 0, 60411 }, /* BFEXTS.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_ecc0_0), 0, 60608 }, /* BFCLR.L #.W,Dn */ +{ CPUFUNC(op_ecd0_0), 0, 60624 }, /* BFCLR.L #.W,(An) */ +{ CPUFUNC(op_ece8_0), 0, 60648 }, /* BFCLR.L #.W,(d16,An) */ +{ CPUFUNC(op_ecf0_0), 0, 60656 }, /* BFCLR.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ecf8_0), 0, 60664 }, /* BFCLR.L #.W,(xxx).W */ +{ CPUFUNC(op_ecf9_0), 0, 60665 }, /* BFCLR.L #.W,(xxx).L */ +{ CPUFUNC(op_edc0_0), 0, 60864 }, /* BFFFO.L #.W,Dn */ +{ CPUFUNC(op_edd0_0), 0, 60880 }, /* BFFFO.L #.W,(An) */ +{ CPUFUNC(op_ede8_0), 0, 60904 }, /* BFFFO.L #.W,(d16,An) */ +{ CPUFUNC(op_edf0_0), 0, 60912 }, /* BFFFO.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_edf8_0), 0, 60920 }, /* BFFFO.L #.W,(xxx).W */ +{ CPUFUNC(op_edf9_0), 0, 60921 }, /* BFFFO.L #.W,(xxx).L */ +{ CPUFUNC(op_edfa_0), 0, 60922 }, /* BFFFO.L #.W,(d16,PC) */ +{ CPUFUNC(op_edfb_0), 0, 60923 }, /* BFFFO.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_eec0_0), 0, 61120 }, /* BFSET.L #.W,Dn */ +{ CPUFUNC(op_eed0_0), 0, 61136 }, /* BFSET.L #.W,(An) */ +{ CPUFUNC(op_eee8_0), 0, 61160 }, /* BFSET.L #.W,(d16,An) */ +{ CPUFUNC(op_eef0_0), 0, 61168 }, /* BFSET.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eef8_0), 0, 61176 }, /* BFSET.L #.W,(xxx).W */ +{ CPUFUNC(op_eef9_0), 0, 61177 }, /* BFSET.L #.W,(xxx).L */ +{ CPUFUNC(op_efc0_0), 0, 61376 }, /* BFINS.L #.W,Dn */ +{ CPUFUNC(op_efd0_0), 0, 61392 }, /* BFINS.L #.W,(An) */ +{ CPUFUNC(op_efe8_0), 0, 61416 }, /* BFINS.L #.W,(d16,An) */ +{ CPUFUNC(op_eff0_0), 0, 61424 }, /* BFINS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eff8_0), 0, 61432 }, /* BFINS.L #.W,(xxx).W */ +{ CPUFUNC(op_eff9_0), 0, 61433 }, /* BFINS.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_f200_0), 0, 61952 }, /* FPP.L #.W,Dn */ +{ CPUFUNC_FF(op_f208_0), 0, 61960 }, /* FPP.L #.W,An */ +{ CPUFUNC_FF(op_f210_0), 0, 61968 }, /* FPP.L #.W,(An) */ +{ CPUFUNC_FF(op_f218_0), 0, 61976 }, /* FPP.L #.W,(An)+ */ +{ CPUFUNC_FF(op_f220_0), 0, 61984 }, /* FPP.L #.W,-(An) */ +{ CPUFUNC_FF(op_f228_0), 0, 61992 }, /* FPP.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_f230_0), 0, 62000 }, /* FPP.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_f238_0), 0, 62008 }, /* FPP.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_f239_0), 0, 62009 }, /* FPP.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_f23a_0), 0, 62010 }, /* FPP.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_f23b_0), 0, 62011 }, /* FPP.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_f23c_0), 0, 62012 }, /* FPP.L #.W,#.L */ +{ CPUFUNC_FF(op_f240_0), 0, 62016 }, /* FScc.L #.W,Dn */ +{ CPUFUNC_FF(op_f248_0), 0, 62024 }, /* FDBcc.L #.W,Dn */ +{ CPUFUNC_FF(op_f250_0), 0, 62032 }, /* FScc.L #.W,(An) */ +{ CPUFUNC_FF(op_f258_0), 0, 62040 }, /* FScc.L #.W,(An)+ */ +{ CPUFUNC_FF(op_f260_0), 0, 62048 }, /* FScc.L #.W,-(An) */ +{ CPUFUNC_FF(op_f268_0), 0, 62056 }, /* FScc.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_f270_0), 0, 62064 }, /* FScc.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_f278_0), 0, 62072 }, /* FScc.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_f279_0), 0, 62073 }, /* FScc.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_f27a_0), 0, 62074 }, /* FTRAPcc.L #.W */ +{ CPUFUNC_FF(op_f27b_0), 0, 62075 }, /* FTRAPcc.L #.L */ +{ CPUFUNC_FF(op_f27c_0), 0, 62076 }, /* FTRAPcc.L */ +{ CPUFUNC_FF(op_f280_0), 0, 62080 }, /* FBcc.L #,#.W */ +{ CPUFUNC_FF(op_f2c0_0), 0, 62144 }, /* FBcc.L #,#.L */ +{ CPUFUNC_FF(op_f310_0), 0, 62224 }, /* FSAVE.L (An) */ +{ CPUFUNC_FF(op_f320_0), 0, 62240 }, /* FSAVE.L -(An) */ +{ CPUFUNC_FF(op_f328_0), 0, 62248 }, /* FSAVE.L (d16,An) */ +{ CPUFUNC_FF(op_f330_0), 0, 62256 }, /* FSAVE.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_f338_0), 0, 62264 }, /* FSAVE.L (xxx).W */ +{ CPUFUNC_FF(op_f339_0), 0, 62265 }, /* FSAVE.L (xxx).L */ +{ CPUFUNC_FF(op_f350_0), 0, 62288 }, /* FRESTORE.L (An) */ +{ CPUFUNC_FF(op_f358_0), 0, 62296 }, /* FRESTORE.L (An)+ */ +{ CPUFUNC_FF(op_f368_0), 0, 62312 }, /* FRESTORE.L (d16,An) */ +{ CPUFUNC_FF(op_f370_0), 0, 62320 }, /* FRESTORE.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_f378_0), 0, 62328 }, /* FRESTORE.L (xxx).W */ +{ CPUFUNC_FF(op_f379_0), 0, 62329 }, /* FRESTORE.L (xxx).L */ +{ CPUFUNC_FF(op_f37a_0), 0, 62330 }, /* FRESTORE.L (d16,PC) */ +{ CPUFUNC_FF(op_f37b_0), 0, 62331 }, /* FRESTORE.L (d8,PC,Xn) */ +{ 0, 0, 0 }}; +struct cputbl CPUFUNC(op_smalltbl_2)[] = { +{ CPUFUNC(op_0_0), 0, 0 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_10_0), 0, 16 }, /* OR.B #.B,(An) */ +{ CPUFUNC(op_18_0), 0, 24 }, /* OR.B #.B,(An)+ */ +{ CPUFUNC(op_20_0), 0, 32 }, /* OR.B #.B,-(An) */ +{ CPUFUNC(op_28_0), 0, 40 }, /* OR.B #.B,(d16,An) */ +{ CPUFUNC(op_30_0), 0, 48 }, /* OR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_38_0), 0, 56 }, /* OR.B #.B,(xxx).W */ +{ CPUFUNC(op_39_0), 0, 57 }, /* OR.B #.B,(xxx).L */ +{ CPUFUNC(op_3c_0), 0, 60 }, /* ORSR.B #.W */ +{ CPUFUNC(op_40_0), 0, 64 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_50_0), 0, 80 }, /* OR.W #.W,(An) */ +{ CPUFUNC(op_58_0), 0, 88 }, /* OR.W #.W,(An)+ */ +{ CPUFUNC(op_60_0), 0, 96 }, /* OR.W #.W,-(An) */ +{ CPUFUNC(op_68_0), 0, 104 }, /* OR.W #.W,(d16,An) */ +{ CPUFUNC(op_70_0), 0, 112 }, /* OR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_78_0), 0, 120 }, /* OR.W #.W,(xxx).W */ +{ CPUFUNC(op_79_0), 0, 121 }, /* OR.W #.W,(xxx).L */ +{ CPUFUNC(op_7c_0), 0, 124 }, /* ORSR.W #.W */ +{ CPUFUNC(op_80_0), 0, 128 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_90_0), 0, 144 }, /* OR.L #.L,(An) */ +{ CPUFUNC(op_98_0), 0, 152 }, /* OR.L #.L,(An)+ */ +{ CPUFUNC(op_a0_0), 0, 160 }, /* OR.L #.L,-(An) */ +{ CPUFUNC(op_a8_0), 0, 168 }, /* OR.L #.L,(d16,An) */ +{ CPUFUNC(op_b0_0), 0, 176 }, /* OR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_b8_0), 0, 184 }, /* OR.L #.L,(xxx).W */ +{ CPUFUNC(op_b9_0), 0, 185 }, /* OR.L #.L,(xxx).L */ +{ CPUFUNC(op_d0_0), 0, 208 }, /* CHK2.B #.W,(An) */ +{ CPUFUNC(op_e8_0), 0, 232 }, /* CHK2.B #.W,(d16,An) */ +{ CPUFUNC(op_f0_0), 0, 240 }, /* CHK2.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_f8_0), 0, 248 }, /* CHK2.B #.W,(xxx).W */ +{ CPUFUNC(op_f9_0), 0, 249 }, /* CHK2.B #.W,(xxx).L */ +{ CPUFUNC(op_fa_0), 0, 250 }, /* CHK2.B #.W,(d16,PC) */ +{ CPUFUNC(op_fb_0), 0, 251 }, /* CHK2.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_100_0), 0, 256 }, /* BTST.L Dn,Dn */ +{ CPUFUNC_FF(op_108_0), 0, 264 }, /* MVPMR.W (d16,An),Dn */ +{ CPUFUNC(op_110_0), 0, 272 }, /* BTST.B Dn,(An) */ +{ CPUFUNC(op_118_0), 0, 280 }, /* BTST.B Dn,(An)+ */ +{ CPUFUNC(op_120_0), 0, 288 }, /* BTST.B Dn,-(An) */ +{ CPUFUNC(op_128_0), 0, 296 }, /* BTST.B Dn,(d16,An) */ +{ CPUFUNC(op_130_0), 0, 304 }, /* BTST.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_138_0), 0, 312 }, /* BTST.B Dn,(xxx).W */ +{ CPUFUNC(op_139_0), 0, 313 }, /* BTST.B Dn,(xxx).L */ +{ CPUFUNC(op_13a_0), 0, 314 }, /* BTST.B Dn,(d16,PC) */ +{ CPUFUNC(op_13b_0), 0, 315 }, /* BTST.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_13c_0), 0, 316 }, /* BTST.B Dn,#.B */ +{ CPUFUNC(op_140_0), 0, 320 }, /* BCHG.L Dn,Dn */ +{ CPUFUNC_FF(op_148_0), 0, 328 }, /* MVPMR.L (d16,An),Dn */ +{ CPUFUNC(op_150_0), 0, 336 }, /* BCHG.B Dn,(An) */ +{ CPUFUNC(op_158_0), 0, 344 }, /* BCHG.B Dn,(An)+ */ +{ CPUFUNC(op_160_0), 0, 352 }, /* BCHG.B Dn,-(An) */ +{ CPUFUNC(op_168_0), 0, 360 }, /* BCHG.B Dn,(d16,An) */ +{ CPUFUNC(op_170_0), 0, 368 }, /* BCHG.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_178_0), 0, 376 }, /* BCHG.B Dn,(xxx).W */ +{ CPUFUNC(op_179_0), 0, 377 }, /* BCHG.B Dn,(xxx).L */ +{ CPUFUNC(op_17a_0), 0, 378 }, /* BCHG.B Dn,(d16,PC) */ +{ CPUFUNC(op_17b_0), 0, 379 }, /* BCHG.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_180_0), 0, 384 }, /* BCLR.L Dn,Dn */ +{ CPUFUNC_FF(op_188_0), 0, 392 }, /* MVPRM.W Dn,(d16,An) */ +{ CPUFUNC(op_190_0), 0, 400 }, /* BCLR.B Dn,(An) */ +{ CPUFUNC(op_198_0), 0, 408 }, /* BCLR.B Dn,(An)+ */ +{ CPUFUNC(op_1a0_0), 0, 416 }, /* BCLR.B Dn,-(An) */ +{ CPUFUNC(op_1a8_0), 0, 424 }, /* BCLR.B Dn,(d16,An) */ +{ CPUFUNC(op_1b0_0), 0, 432 }, /* BCLR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1b8_0), 0, 440 }, /* BCLR.B Dn,(xxx).W */ +{ CPUFUNC(op_1b9_0), 0, 441 }, /* BCLR.B Dn,(xxx).L */ +{ CPUFUNC(op_1ba_0), 0, 442 }, /* BCLR.B Dn,(d16,PC) */ +{ CPUFUNC(op_1bb_0), 0, 443 }, /* BCLR.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_1c0_0), 0, 448 }, /* BSET.L Dn,Dn */ +{ CPUFUNC_FF(op_1c8_0), 0, 456 }, /* MVPRM.L Dn,(d16,An) */ +{ CPUFUNC(op_1d0_0), 0, 464 }, /* BSET.B Dn,(An) */ +{ CPUFUNC(op_1d8_0), 0, 472 }, /* BSET.B Dn,(An)+ */ +{ CPUFUNC(op_1e0_0), 0, 480 }, /* BSET.B Dn,-(An) */ +{ CPUFUNC(op_1e8_0), 0, 488 }, /* BSET.B Dn,(d16,An) */ +{ CPUFUNC(op_1f0_0), 0, 496 }, /* BSET.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1f8_0), 0, 504 }, /* BSET.B Dn,(xxx).W */ +{ CPUFUNC(op_1f9_0), 0, 505 }, /* BSET.B Dn,(xxx).L */ +{ CPUFUNC(op_1fa_0), 0, 506 }, /* BSET.B Dn,(d16,PC) */ +{ CPUFUNC(op_1fb_0), 0, 507 }, /* BSET.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_200_0), 0, 512 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_210_0), 0, 528 }, /* AND.B #.B,(An) */ +{ CPUFUNC(op_218_0), 0, 536 }, /* AND.B #.B,(An)+ */ +{ CPUFUNC(op_220_0), 0, 544 }, /* AND.B #.B,-(An) */ +{ CPUFUNC(op_228_0), 0, 552 }, /* AND.B #.B,(d16,An) */ +{ CPUFUNC(op_230_0), 0, 560 }, /* AND.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_238_0), 0, 568 }, /* AND.B #.B,(xxx).W */ +{ CPUFUNC(op_239_0), 0, 569 }, /* AND.B #.B,(xxx).L */ +{ CPUFUNC(op_23c_0), 0, 572 }, /* ANDSR.B #.W */ +{ CPUFUNC(op_240_0), 0, 576 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_250_0), 0, 592 }, /* AND.W #.W,(An) */ +{ CPUFUNC(op_258_0), 0, 600 }, /* AND.W #.W,(An)+ */ +{ CPUFUNC(op_260_0), 0, 608 }, /* AND.W #.W,-(An) */ +{ CPUFUNC(op_268_0), 0, 616 }, /* AND.W #.W,(d16,An) */ +{ CPUFUNC(op_270_0), 0, 624 }, /* AND.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_278_0), 0, 632 }, /* AND.W #.W,(xxx).W */ +{ CPUFUNC(op_279_0), 0, 633 }, /* AND.W #.W,(xxx).L */ +{ CPUFUNC(op_27c_0), 0, 636 }, /* ANDSR.W #.W */ +{ CPUFUNC(op_280_0), 0, 640 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_290_0), 0, 656 }, /* AND.L #.L,(An) */ +{ CPUFUNC(op_298_0), 0, 664 }, /* AND.L #.L,(An)+ */ +{ CPUFUNC(op_2a0_0), 0, 672 }, /* AND.L #.L,-(An) */ +{ CPUFUNC(op_2a8_0), 0, 680 }, /* AND.L #.L,(d16,An) */ +{ CPUFUNC(op_2b0_0), 0, 688 }, /* AND.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_2b8_0), 0, 696 }, /* AND.L #.L,(xxx).W */ +{ CPUFUNC(op_2b9_0), 0, 697 }, /* AND.L #.L,(xxx).L */ +{ CPUFUNC(op_2d0_0), 0, 720 }, /* CHK2.W #.W,(An) */ +{ CPUFUNC(op_2e8_0), 0, 744 }, /* CHK2.W #.W,(d16,An) */ +{ CPUFUNC(op_2f0_0), 0, 752 }, /* CHK2.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_2f8_0), 0, 760 }, /* CHK2.W #.W,(xxx).W */ +{ CPUFUNC(op_2f9_0), 0, 761 }, /* CHK2.W #.W,(xxx).L */ +{ CPUFUNC(op_2fa_0), 0, 762 }, /* CHK2.W #.W,(d16,PC) */ +{ CPUFUNC(op_2fb_0), 0, 763 }, /* CHK2.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_400_0), 0, 1024 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_410_0), 0, 1040 }, /* SUB.B #.B,(An) */ +{ CPUFUNC(op_418_0), 0, 1048 }, /* SUB.B #.B,(An)+ */ +{ CPUFUNC(op_420_0), 0, 1056 }, /* SUB.B #.B,-(An) */ +{ CPUFUNC(op_428_0), 0, 1064 }, /* SUB.B #.B,(d16,An) */ +{ CPUFUNC(op_430_0), 0, 1072 }, /* SUB.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_438_0), 0, 1080 }, /* SUB.B #.B,(xxx).W */ +{ CPUFUNC(op_439_0), 0, 1081 }, /* SUB.B #.B,(xxx).L */ +{ CPUFUNC(op_440_0), 0, 1088 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_450_0), 0, 1104 }, /* SUB.W #.W,(An) */ +{ CPUFUNC(op_458_0), 0, 1112 }, /* SUB.W #.W,(An)+ */ +{ CPUFUNC(op_460_0), 0, 1120 }, /* SUB.W #.W,-(An) */ +{ CPUFUNC(op_468_0), 0, 1128 }, /* SUB.W #.W,(d16,An) */ +{ CPUFUNC(op_470_0), 0, 1136 }, /* SUB.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_478_0), 0, 1144 }, /* SUB.W #.W,(xxx).W */ +{ CPUFUNC(op_479_0), 0, 1145 }, /* SUB.W #.W,(xxx).L */ +{ CPUFUNC(op_480_0), 0, 1152 }, /* SUB.L #.L,Dn */ +{ CPUFUNC(op_490_0), 0, 1168 }, /* SUB.L #.L,(An) */ +{ CPUFUNC(op_498_0), 0, 1176 }, /* SUB.L #.L,(An)+ */ +{ CPUFUNC(op_4a0_0), 0, 1184 }, /* SUB.L #.L,-(An) */ +{ CPUFUNC(op_4a8_0), 0, 1192 }, /* SUB.L #.L,(d16,An) */ +{ CPUFUNC(op_4b0_0), 0, 1200 }, /* SUB.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_4b8_0), 0, 1208 }, /* SUB.L #.L,(xxx).W */ +{ CPUFUNC(op_4b9_0), 0, 1209 }, /* SUB.L #.L,(xxx).L */ +{ CPUFUNC(op_4d0_0), 0, 1232 }, /* CHK2.L #.W,(An) */ +{ CPUFUNC(op_4e8_0), 0, 1256 }, /* CHK2.L #.W,(d16,An) */ +{ CPUFUNC(op_4f0_0), 0, 1264 }, /* CHK2.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4f8_0), 0, 1272 }, /* CHK2.L #.W,(xxx).W */ +{ CPUFUNC(op_4f9_0), 0, 1273 }, /* CHK2.L #.W,(xxx).L */ +{ CPUFUNC(op_4fa_0), 0, 1274 }, /* CHK2.L #.W,(d16,PC) */ +{ CPUFUNC(op_4fb_0), 0, 1275 }, /* CHK2.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_600_0), 0, 1536 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_610_0), 0, 1552 }, /* ADD.B #.B,(An) */ +{ CPUFUNC(op_618_0), 0, 1560 }, /* ADD.B #.B,(An)+ */ +{ CPUFUNC(op_620_0), 0, 1568 }, /* ADD.B #.B,-(An) */ +{ CPUFUNC(op_628_0), 0, 1576 }, /* ADD.B #.B,(d16,An) */ +{ CPUFUNC(op_630_0), 0, 1584 }, /* ADD.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_638_0), 0, 1592 }, /* ADD.B #.B,(xxx).W */ +{ CPUFUNC(op_639_0), 0, 1593 }, /* ADD.B #.B,(xxx).L */ +{ CPUFUNC(op_640_0), 0, 1600 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_650_0), 0, 1616 }, /* ADD.W #.W,(An) */ +{ CPUFUNC(op_658_0), 0, 1624 }, /* ADD.W #.W,(An)+ */ +{ CPUFUNC(op_660_0), 0, 1632 }, /* ADD.W #.W,-(An) */ +{ CPUFUNC(op_668_0), 0, 1640 }, /* ADD.W #.W,(d16,An) */ +{ CPUFUNC(op_670_0), 0, 1648 }, /* ADD.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_678_0), 0, 1656 }, /* ADD.W #.W,(xxx).W */ +{ CPUFUNC(op_679_0), 0, 1657 }, /* ADD.W #.W,(xxx).L */ +{ CPUFUNC(op_680_0), 0, 1664 }, /* ADD.L #.L,Dn */ +{ CPUFUNC(op_690_0), 0, 1680 }, /* ADD.L #.L,(An) */ +{ CPUFUNC(op_698_0), 0, 1688 }, /* ADD.L #.L,(An)+ */ +{ CPUFUNC(op_6a0_0), 0, 1696 }, /* ADD.L #.L,-(An) */ +{ CPUFUNC(op_6a8_0), 0, 1704 }, /* ADD.L #.L,(d16,An) */ +{ CPUFUNC(op_6b0_0), 0, 1712 }, /* ADD.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_6b8_0), 0, 1720 }, /* ADD.L #.L,(xxx).W */ +{ CPUFUNC(op_6b9_0), 0, 1721 }, /* ADD.L #.L,(xxx).L */ +{ CPUFUNC(op_6c0_0), 0, 1728 }, /* RTM.L Dn */ +{ CPUFUNC(op_6c8_0), 0, 1736 }, /* RTM.L An */ +{ CPUFUNC_FF(op_6d0_0), 0, 1744 }, /* CALLM.L (An) */ +{ CPUFUNC_FF(op_6e8_0), 0, 1768 }, /* CALLM.L (d16,An) */ +{ CPUFUNC_FF(op_6f0_0), 0, 1776 }, /* CALLM.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_6f8_0), 0, 1784 }, /* CALLM.L (xxx).W */ +{ CPUFUNC_FF(op_6f9_0), 0, 1785 }, /* CALLM.L (xxx).L */ +{ CPUFUNC_FF(op_6fa_0), 0, 1786 }, /* CALLM.L (d16,PC) */ +{ CPUFUNC_FF(op_6fb_0), 0, 1787 }, /* CALLM.L (d8,PC,Xn) */ +{ CPUFUNC(op_800_0), 0, 2048 }, /* BTST.L #.W,Dn */ +{ CPUFUNC(op_810_0), 0, 2064 }, /* BTST.B #.W,(An) */ +{ CPUFUNC(op_818_0), 0, 2072 }, /* BTST.B #.W,(An)+ */ +{ CPUFUNC(op_820_0), 0, 2080 }, /* BTST.B #.W,-(An) */ +{ CPUFUNC(op_828_0), 0, 2088 }, /* BTST.B #.W,(d16,An) */ +{ CPUFUNC(op_830_0), 0, 2096 }, /* BTST.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_838_0), 0, 2104 }, /* BTST.B #.W,(xxx).W */ +{ CPUFUNC(op_839_0), 0, 2105 }, /* BTST.B #.W,(xxx).L */ +{ CPUFUNC(op_83a_0), 0, 2106 }, /* BTST.B #.W,(d16,PC) */ +{ CPUFUNC(op_83b_0), 0, 2107 }, /* BTST.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_83c_0), 0, 2108 }, /* BTST.B #.W,#.B */ +{ CPUFUNC(op_840_0), 0, 2112 }, /* BCHG.L #.W,Dn */ +{ CPUFUNC(op_850_0), 0, 2128 }, /* BCHG.B #.W,(An) */ +{ CPUFUNC(op_858_0), 0, 2136 }, /* BCHG.B #.W,(An)+ */ +{ CPUFUNC(op_860_0), 0, 2144 }, /* BCHG.B #.W,-(An) */ +{ CPUFUNC(op_868_0), 0, 2152 }, /* BCHG.B #.W,(d16,An) */ +{ CPUFUNC(op_870_0), 0, 2160 }, /* BCHG.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_878_0), 0, 2168 }, /* BCHG.B #.W,(xxx).W */ +{ CPUFUNC(op_879_0), 0, 2169 }, /* BCHG.B #.W,(xxx).L */ +{ CPUFUNC(op_87a_0), 0, 2170 }, /* BCHG.B #.W,(d16,PC) */ +{ CPUFUNC(op_87b_0), 0, 2171 }, /* BCHG.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_880_0), 0, 2176 }, /* BCLR.L #.W,Dn */ +{ CPUFUNC(op_890_0), 0, 2192 }, /* BCLR.B #.W,(An) */ +{ CPUFUNC(op_898_0), 0, 2200 }, /* BCLR.B #.W,(An)+ */ +{ CPUFUNC(op_8a0_0), 0, 2208 }, /* BCLR.B #.W,-(An) */ +{ CPUFUNC(op_8a8_0), 0, 2216 }, /* BCLR.B #.W,(d16,An) */ +{ CPUFUNC(op_8b0_0), 0, 2224 }, /* BCLR.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8b8_0), 0, 2232 }, /* BCLR.B #.W,(xxx).W */ +{ CPUFUNC(op_8b9_0), 0, 2233 }, /* BCLR.B #.W,(xxx).L */ +{ CPUFUNC(op_8ba_0), 0, 2234 }, /* BCLR.B #.W,(d16,PC) */ +{ CPUFUNC(op_8bb_0), 0, 2235 }, /* BCLR.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_8c0_0), 0, 2240 }, /* BSET.L #.W,Dn */ +{ CPUFUNC(op_8d0_0), 0, 2256 }, /* BSET.B #.W,(An) */ +{ CPUFUNC(op_8d8_0), 0, 2264 }, /* BSET.B #.W,(An)+ */ +{ CPUFUNC(op_8e0_0), 0, 2272 }, /* BSET.B #.W,-(An) */ +{ CPUFUNC(op_8e8_0), 0, 2280 }, /* BSET.B #.W,(d16,An) */ +{ CPUFUNC(op_8f0_0), 0, 2288 }, /* BSET.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8f8_0), 0, 2296 }, /* BSET.B #.W,(xxx).W */ +{ CPUFUNC(op_8f9_0), 0, 2297 }, /* BSET.B #.W,(xxx).L */ +{ CPUFUNC(op_8fa_0), 0, 2298 }, /* BSET.B #.W,(d16,PC) */ +{ CPUFUNC(op_8fb_0), 0, 2299 }, /* BSET.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_a00_0), 0, 2560 }, /* EOR.B #.B,Dn */ +{ CPUFUNC(op_a10_0), 0, 2576 }, /* EOR.B #.B,(An) */ +{ CPUFUNC(op_a18_0), 0, 2584 }, /* EOR.B #.B,(An)+ */ +{ CPUFUNC(op_a20_0), 0, 2592 }, /* EOR.B #.B,-(An) */ +{ CPUFUNC(op_a28_0), 0, 2600 }, /* EOR.B #.B,(d16,An) */ +{ CPUFUNC(op_a30_0), 0, 2608 }, /* EOR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_a38_0), 0, 2616 }, /* EOR.B #.B,(xxx).W */ +{ CPUFUNC(op_a39_0), 0, 2617 }, /* EOR.B #.B,(xxx).L */ +{ CPUFUNC(op_a3c_0), 0, 2620 }, /* EORSR.B #.W */ +{ CPUFUNC(op_a40_0), 0, 2624 }, /* EOR.W #.W,Dn */ +{ CPUFUNC(op_a50_0), 0, 2640 }, /* EOR.W #.W,(An) */ +{ CPUFUNC(op_a58_0), 0, 2648 }, /* EOR.W #.W,(An)+ */ +{ CPUFUNC(op_a60_0), 0, 2656 }, /* EOR.W #.W,-(An) */ +{ CPUFUNC(op_a68_0), 0, 2664 }, /* EOR.W #.W,(d16,An) */ +{ CPUFUNC(op_a70_0), 0, 2672 }, /* EOR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_a78_0), 0, 2680 }, /* EOR.W #.W,(xxx).W */ +{ CPUFUNC(op_a79_0), 0, 2681 }, /* EOR.W #.W,(xxx).L */ +{ CPUFUNC(op_a7c_0), 0, 2684 }, /* EORSR.W #.W */ +{ CPUFUNC(op_a80_0), 0, 2688 }, /* EOR.L #.L,Dn */ +{ CPUFUNC(op_a90_0), 0, 2704 }, /* EOR.L #.L,(An) */ +{ CPUFUNC(op_a98_0), 0, 2712 }, /* EOR.L #.L,(An)+ */ +{ CPUFUNC(op_aa0_0), 0, 2720 }, /* EOR.L #.L,-(An) */ +{ CPUFUNC(op_aa8_0), 0, 2728 }, /* EOR.L #.L,(d16,An) */ +{ CPUFUNC(op_ab0_0), 0, 2736 }, /* EOR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_ab8_0), 0, 2744 }, /* EOR.L #.L,(xxx).W */ +{ CPUFUNC(op_ab9_0), 0, 2745 }, /* EOR.L #.L,(xxx).L */ +{ CPUFUNC(op_ad0_0), 0, 2768 }, /* CAS.B #.W,(An) */ +{ CPUFUNC(op_ad8_0), 0, 2776 }, /* CAS.B #.W,(An)+ */ +{ CPUFUNC(op_ae0_0), 0, 2784 }, /* CAS.B #.W,-(An) */ +{ CPUFUNC(op_ae8_0), 0, 2792 }, /* CAS.B #.W,(d16,An) */ +{ CPUFUNC(op_af0_0), 0, 2800 }, /* CAS.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_af8_0), 0, 2808 }, /* CAS.B #.W,(xxx).W */ +{ CPUFUNC(op_af9_0), 0, 2809 }, /* CAS.B #.W,(xxx).L */ +{ CPUFUNC(op_c00_0), 0, 3072 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_c10_0), 0, 3088 }, /* CMP.B #.B,(An) */ +{ CPUFUNC(op_c18_0), 0, 3096 }, /* CMP.B #.B,(An)+ */ +{ CPUFUNC(op_c20_0), 0, 3104 }, /* CMP.B #.B,-(An) */ +{ CPUFUNC(op_c28_0), 0, 3112 }, /* CMP.B #.B,(d16,An) */ +{ CPUFUNC(op_c30_0), 0, 3120 }, /* CMP.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_c38_0), 0, 3128 }, /* CMP.B #.B,(xxx).W */ +{ CPUFUNC(op_c39_0), 0, 3129 }, /* CMP.B #.B,(xxx).L */ +{ CPUFUNC(op_c3a_0), 0, 3130 }, /* CMP.B #.B,(d16,PC) */ +{ CPUFUNC(op_c3b_0), 0, 3131 }, /* CMP.B #.B,(d8,PC,Xn) */ +{ CPUFUNC(op_c40_0), 0, 3136 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_c50_0), 0, 3152 }, /* CMP.W #.W,(An) */ +{ CPUFUNC(op_c58_0), 0, 3160 }, /* CMP.W #.W,(An)+ */ +{ CPUFUNC(op_c60_0), 0, 3168 }, /* CMP.W #.W,-(An) */ +{ CPUFUNC(op_c68_0), 0, 3176 }, /* CMP.W #.W,(d16,An) */ +{ CPUFUNC(op_c70_0), 0, 3184 }, /* CMP.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_c78_0), 0, 3192 }, /* CMP.W #.W,(xxx).W */ +{ CPUFUNC(op_c79_0), 0, 3193 }, /* CMP.W #.W,(xxx).L */ +{ CPUFUNC(op_c7a_0), 0, 3194 }, /* CMP.W #.W,(d16,PC) */ +{ CPUFUNC(op_c7b_0), 0, 3195 }, /* CMP.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_c80_0), 0, 3200 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_c90_0), 0, 3216 }, /* CMP.L #.L,(An) */ +{ CPUFUNC(op_c98_0), 0, 3224 }, /* CMP.L #.L,(An)+ */ +{ CPUFUNC(op_ca0_0), 0, 3232 }, /* CMP.L #.L,-(An) */ +{ CPUFUNC(op_ca8_0), 0, 3240 }, /* CMP.L #.L,(d16,An) */ +{ CPUFUNC(op_cb0_0), 0, 3248 }, /* CMP.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_cb8_0), 0, 3256 }, /* CMP.L #.L,(xxx).W */ +{ CPUFUNC(op_cb9_0), 0, 3257 }, /* CMP.L #.L,(xxx).L */ +{ CPUFUNC(op_cba_0), 0, 3258 }, /* CMP.L #.L,(d16,PC) */ +{ CPUFUNC(op_cbb_0), 0, 3259 }, /* CMP.L #.L,(d8,PC,Xn) */ +{ CPUFUNC(op_cd0_0), 0, 3280 }, /* CAS.W #.W,(An) */ +{ CPUFUNC(op_cd8_0), 0, 3288 }, /* CAS.W #.W,(An)+ */ +{ CPUFUNC(op_ce0_0), 0, 3296 }, /* CAS.W #.W,-(An) */ +{ CPUFUNC(op_ce8_0), 0, 3304 }, /* CAS.W #.W,(d16,An) */ +{ CPUFUNC(op_cf0_0), 0, 3312 }, /* CAS.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_cf8_0), 0, 3320 }, /* CAS.W #.W,(xxx).W */ +{ CPUFUNC(op_cf9_0), 0, 3321 }, /* CAS.W #.W,(xxx).L */ +{ CPUFUNC(op_cfc_0), 0, 3324 }, /* CAS2.W #.L */ +{ CPUFUNC_FF(op_e10_0), 0, 3600 }, /* MOVES.B #.W,(An) */ +{ CPUFUNC_FF(op_e18_0), 0, 3608 }, /* MOVES.B #.W,(An)+ */ +{ CPUFUNC_FF(op_e20_0), 0, 3616 }, /* MOVES.B #.W,-(An) */ +{ CPUFUNC_FF(op_e28_0), 0, 3624 }, /* MOVES.B #.W,(d16,An) */ +{ CPUFUNC_FF(op_e30_0), 0, 3632 }, /* MOVES.B #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_e38_0), 0, 3640 }, /* MOVES.B #.W,(xxx).W */ +{ CPUFUNC_FF(op_e39_0), 0, 3641 }, /* MOVES.B #.W,(xxx).L */ +{ CPUFUNC_FF(op_e50_0), 0, 3664 }, /* MOVES.W #.W,(An) */ +{ CPUFUNC_FF(op_e58_0), 0, 3672 }, /* MOVES.W #.W,(An)+ */ +{ CPUFUNC_FF(op_e60_0), 0, 3680 }, /* MOVES.W #.W,-(An) */ +{ CPUFUNC_FF(op_e68_0), 0, 3688 }, /* MOVES.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_e70_0), 0, 3696 }, /* MOVES.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_e78_0), 0, 3704 }, /* MOVES.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_e79_0), 0, 3705 }, /* MOVES.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_e90_0), 0, 3728 }, /* MOVES.L #.W,(An) */ +{ CPUFUNC_FF(op_e98_0), 0, 3736 }, /* MOVES.L #.W,(An)+ */ +{ CPUFUNC_FF(op_ea0_0), 0, 3744 }, /* MOVES.L #.W,-(An) */ +{ CPUFUNC_FF(op_ea8_0), 0, 3752 }, /* MOVES.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_eb0_0), 0, 3760 }, /* MOVES.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_eb8_0), 0, 3768 }, /* MOVES.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_eb9_0), 0, 3769 }, /* MOVES.L #.W,(xxx).L */ +{ CPUFUNC(op_ed0_0), 0, 3792 }, /* CAS.L #.W,(An) */ +{ CPUFUNC(op_ed8_0), 0, 3800 }, /* CAS.L #.W,(An)+ */ +{ CPUFUNC(op_ee0_0), 0, 3808 }, /* CAS.L #.W,-(An) */ +{ CPUFUNC(op_ee8_0), 0, 3816 }, /* CAS.L #.W,(d16,An) */ +{ CPUFUNC(op_ef0_0), 0, 3824 }, /* CAS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ef8_0), 0, 3832 }, /* CAS.L #.W,(xxx).W */ +{ CPUFUNC(op_ef9_0), 0, 3833 }, /* CAS.L #.W,(xxx).L */ +{ CPUFUNC(op_efc_0), 0, 3836 }, /* CAS2.L #.L */ +{ CPUFUNC(op_1000_0), 0, 4096 }, /* MOVE.B Dn,Dn */ +{ CPUFUNC(op_1010_0), 0, 4112 }, /* MOVE.B (An),Dn */ +{ CPUFUNC(op_1018_0), 0, 4120 }, /* MOVE.B (An)+,Dn */ +{ CPUFUNC(op_1020_0), 0, 4128 }, /* MOVE.B -(An),Dn */ +{ CPUFUNC(op_1028_0), 0, 4136 }, /* MOVE.B (d16,An),Dn */ +{ CPUFUNC(op_1030_0), 0, 4144 }, /* MOVE.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_1038_0), 0, 4152 }, /* MOVE.B (xxx).W,Dn */ +{ CPUFUNC(op_1039_0), 0, 4153 }, /* MOVE.B (xxx).L,Dn */ +{ CPUFUNC(op_103a_0), 0, 4154 }, /* MOVE.B (d16,PC),Dn */ +{ CPUFUNC(op_103b_0), 0, 4155 }, /* MOVE.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_103c_0), 0, 4156 }, /* MOVE.B #.B,Dn */ +{ CPUFUNC(op_1080_0), 0, 4224 }, /* MOVE.B Dn,(An) */ +{ CPUFUNC(op_1090_0), 0, 4240 }, /* MOVE.B (An),(An) */ +{ CPUFUNC(op_1098_0), 0, 4248 }, /* MOVE.B (An)+,(An) */ +{ CPUFUNC(op_10a0_0), 0, 4256 }, /* MOVE.B -(An),(An) */ +{ CPUFUNC(op_10a8_0), 0, 4264 }, /* MOVE.B (d16,An),(An) */ +{ CPUFUNC(op_10b0_0), 0, 4272 }, /* MOVE.B (d8,An,Xn),(An) */ +{ CPUFUNC(op_10b8_0), 0, 4280 }, /* MOVE.B (xxx).W,(An) */ +{ CPUFUNC(op_10b9_0), 0, 4281 }, /* MOVE.B (xxx).L,(An) */ +{ CPUFUNC(op_10ba_0), 0, 4282 }, /* MOVE.B (d16,PC),(An) */ +{ CPUFUNC(op_10bb_0), 0, 4283 }, /* MOVE.B (d8,PC,Xn),(An) */ +{ CPUFUNC(op_10bc_0), 0, 4284 }, /* MOVE.B #.B,(An) */ +{ CPUFUNC(op_10c0_0), 0, 4288 }, /* MOVE.B Dn,(An)+ */ +{ CPUFUNC(op_10d0_0), 0, 4304 }, /* MOVE.B (An),(An)+ */ +{ CPUFUNC(op_10d8_0), 0, 4312 }, /* MOVE.B (An)+,(An)+ */ +{ CPUFUNC(op_10e0_0), 0, 4320 }, /* MOVE.B -(An),(An)+ */ +{ CPUFUNC(op_10e8_0), 0, 4328 }, /* MOVE.B (d16,An),(An)+ */ +{ CPUFUNC(op_10f0_0), 0, 4336 }, /* MOVE.B (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_10f8_0), 0, 4344 }, /* MOVE.B (xxx).W,(An)+ */ +{ CPUFUNC(op_10f9_0), 0, 4345 }, /* MOVE.B (xxx).L,(An)+ */ +{ CPUFUNC(op_10fa_0), 0, 4346 }, /* MOVE.B (d16,PC),(An)+ */ +{ CPUFUNC(op_10fb_0), 0, 4347 }, /* MOVE.B (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_10fc_0), 0, 4348 }, /* MOVE.B #.B,(An)+ */ +{ CPUFUNC(op_1100_0), 0, 4352 }, /* MOVE.B Dn,-(An) */ +{ CPUFUNC(op_1110_0), 0, 4368 }, /* MOVE.B (An),-(An) */ +{ CPUFUNC(op_1118_0), 0, 4376 }, /* MOVE.B (An)+,-(An) */ +{ CPUFUNC(op_1120_0), 0, 4384 }, /* MOVE.B -(An),-(An) */ +{ CPUFUNC(op_1128_0), 0, 4392 }, /* MOVE.B (d16,An),-(An) */ +{ CPUFUNC(op_1130_0), 0, 4400 }, /* MOVE.B (d8,An,Xn),-(An) */ +{ CPUFUNC(op_1138_0), 0, 4408 }, /* MOVE.B (xxx).W,-(An) */ +{ CPUFUNC(op_1139_0), 0, 4409 }, /* MOVE.B (xxx).L,-(An) */ +{ CPUFUNC(op_113a_0), 0, 4410 }, /* MOVE.B (d16,PC),-(An) */ +{ CPUFUNC(op_113b_0), 0, 4411 }, /* MOVE.B (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_113c_0), 0, 4412 }, /* MOVE.B #.B,-(An) */ +{ CPUFUNC(op_1140_0), 0, 4416 }, /* MOVE.B Dn,(d16,An) */ +{ CPUFUNC(op_1150_0), 0, 4432 }, /* MOVE.B (An),(d16,An) */ +{ CPUFUNC(op_1158_0), 0, 4440 }, /* MOVE.B (An)+,(d16,An) */ +{ CPUFUNC(op_1160_0), 0, 4448 }, /* MOVE.B -(An),(d16,An) */ +{ CPUFUNC(op_1168_0), 0, 4456 }, /* MOVE.B (d16,An),(d16,An) */ +{ CPUFUNC(op_1170_0), 0, 4464 }, /* MOVE.B (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_1178_0), 0, 4472 }, /* MOVE.B (xxx).W,(d16,An) */ +{ CPUFUNC(op_1179_0), 0, 4473 }, /* MOVE.B (xxx).L,(d16,An) */ +{ CPUFUNC(op_117a_0), 0, 4474 }, /* MOVE.B (d16,PC),(d16,An) */ +{ CPUFUNC(op_117b_0), 0, 4475 }, /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_117c_0), 0, 4476 }, /* MOVE.B #.B,(d16,An) */ +{ CPUFUNC(op_1180_0), 0, 4480 }, /* MOVE.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1190_0), 0, 4496 }, /* MOVE.B (An),(d8,An,Xn) */ +{ CPUFUNC(op_1198_0), 0, 4504 }, /* MOVE.B (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_11a0_0), 0, 4512 }, /* MOVE.B -(An),(d8,An,Xn) */ +{ CPUFUNC(op_11a8_0), 0, 4520 }, /* MOVE.B (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_11b0_0), 0, 4528 }, /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11b8_0), 0, 4536 }, /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_11b9_0), 0, 4537 }, /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_11ba_0), 0, 4538 }, /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_11bb_0), 0, 4539 }, /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11bc_0), 0, 4540 }, /* MOVE.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_11c0_0), 0, 4544 }, /* MOVE.B Dn,(xxx).W */ +{ CPUFUNC(op_11d0_0), 0, 4560 }, /* MOVE.B (An),(xxx).W */ +{ CPUFUNC(op_11d8_0), 0, 4568 }, /* MOVE.B (An)+,(xxx).W */ +{ CPUFUNC(op_11e0_0), 0, 4576 }, /* MOVE.B -(An),(xxx).W */ +{ CPUFUNC(op_11e8_0), 0, 4584 }, /* MOVE.B (d16,An),(xxx).W */ +{ CPUFUNC(op_11f0_0), 0, 4592 }, /* MOVE.B (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_11f8_0), 0, 4600 }, /* MOVE.B (xxx).W,(xxx).W */ +{ CPUFUNC(op_11f9_0), 0, 4601 }, /* MOVE.B (xxx).L,(xxx).W */ +{ CPUFUNC(op_11fa_0), 0, 4602 }, /* MOVE.B (d16,PC),(xxx).W */ +{ CPUFUNC(op_11fb_0), 0, 4603 }, /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_11fc_0), 0, 4604 }, /* MOVE.B #.B,(xxx).W */ +{ CPUFUNC(op_13c0_0), 0, 5056 }, /* MOVE.B Dn,(xxx).L */ +{ CPUFUNC(op_13d0_0), 0, 5072 }, /* MOVE.B (An),(xxx).L */ +{ CPUFUNC(op_13d8_0), 0, 5080 }, /* MOVE.B (An)+,(xxx).L */ +{ CPUFUNC(op_13e0_0), 0, 5088 }, /* MOVE.B -(An),(xxx).L */ +{ CPUFUNC(op_13e8_0), 0, 5096 }, /* MOVE.B (d16,An),(xxx).L */ +{ CPUFUNC(op_13f0_0), 0, 5104 }, /* MOVE.B (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_13f8_0), 0, 5112 }, /* MOVE.B (xxx).W,(xxx).L */ +{ CPUFUNC(op_13f9_0), 0, 5113 }, /* MOVE.B (xxx).L,(xxx).L */ +{ CPUFUNC(op_13fa_0), 0, 5114 }, /* MOVE.B (d16,PC),(xxx).L */ +{ CPUFUNC(op_13fb_0), 0, 5115 }, /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_13fc_0), 0, 5116 }, /* MOVE.B #.B,(xxx).L */ +{ CPUFUNC(op_2000_0), 0, 8192 }, /* MOVE.L Dn,Dn */ +{ CPUFUNC(op_2008_0), 0, 8200 }, /* MOVE.L An,Dn */ +{ CPUFUNC(op_2010_0), 0, 8208 }, /* MOVE.L (An),Dn */ +{ CPUFUNC(op_2018_0), 0, 8216 }, /* MOVE.L (An)+,Dn */ +{ CPUFUNC(op_2020_0), 0, 8224 }, /* MOVE.L -(An),Dn */ +{ CPUFUNC(op_2028_0), 0, 8232 }, /* MOVE.L (d16,An),Dn */ +{ CPUFUNC(op_2030_0), 0, 8240 }, /* MOVE.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_2038_0), 0, 8248 }, /* MOVE.L (xxx).W,Dn */ +{ CPUFUNC(op_2039_0), 0, 8249 }, /* MOVE.L (xxx).L,Dn */ +{ CPUFUNC(op_203a_0), 0, 8250 }, /* MOVE.L (d16,PC),Dn */ +{ CPUFUNC(op_203b_0), 0, 8251 }, /* MOVE.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_203c_0), 0, 8252 }, /* MOVE.L #.L,Dn */ +{ CPUFUNC_FF(op_2040_0), 0, 8256 }, /* MOVEA.L Dn,An */ +{ CPUFUNC_FF(op_2048_0), 0, 8264 }, /* MOVEA.L An,An */ +{ CPUFUNC_FF(op_2050_0), 0, 8272 }, /* MOVEA.L (An),An */ +{ CPUFUNC_FF(op_2058_0), 0, 8280 }, /* MOVEA.L (An)+,An */ +{ CPUFUNC_FF(op_2060_0), 0, 8288 }, /* MOVEA.L -(An),An */ +{ CPUFUNC_FF(op_2068_0), 0, 8296 }, /* MOVEA.L (d16,An),An */ +{ CPUFUNC_FF(op_2070_0), 0, 8304 }, /* MOVEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_2078_0), 0, 8312 }, /* MOVEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_2079_0), 0, 8313 }, /* MOVEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_207a_0), 0, 8314 }, /* MOVEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_207b_0), 0, 8315 }, /* MOVEA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_207c_0), 0, 8316 }, /* MOVEA.L #.L,An */ +{ CPUFUNC(op_2080_0), 0, 8320 }, /* MOVE.L Dn,(An) */ +{ CPUFUNC(op_2088_0), 0, 8328 }, /* MOVE.L An,(An) */ +{ CPUFUNC(op_2090_0), 0, 8336 }, /* MOVE.L (An),(An) */ +{ CPUFUNC(op_2098_0), 0, 8344 }, /* MOVE.L (An)+,(An) */ +{ CPUFUNC(op_20a0_0), 0, 8352 }, /* MOVE.L -(An),(An) */ +{ CPUFUNC(op_20a8_0), 0, 8360 }, /* MOVE.L (d16,An),(An) */ +{ CPUFUNC(op_20b0_0), 0, 8368 }, /* MOVE.L (d8,An,Xn),(An) */ +{ CPUFUNC(op_20b8_0), 0, 8376 }, /* MOVE.L (xxx).W,(An) */ +{ CPUFUNC(op_20b9_0), 0, 8377 }, /* MOVE.L (xxx).L,(An) */ +{ CPUFUNC(op_20ba_0), 0, 8378 }, /* MOVE.L (d16,PC),(An) */ +{ CPUFUNC(op_20bb_0), 0, 8379 }, /* MOVE.L (d8,PC,Xn),(An) */ +{ CPUFUNC(op_20bc_0), 0, 8380 }, /* MOVE.L #.L,(An) */ +{ CPUFUNC(op_20c0_0), 0, 8384 }, /* MOVE.L Dn,(An)+ */ +{ CPUFUNC(op_20c8_0), 0, 8392 }, /* MOVE.L An,(An)+ */ +{ CPUFUNC(op_20d0_0), 0, 8400 }, /* MOVE.L (An),(An)+ */ +{ CPUFUNC(op_20d8_0), 0, 8408 }, /* MOVE.L (An)+,(An)+ */ +{ CPUFUNC(op_20e0_0), 0, 8416 }, /* MOVE.L -(An),(An)+ */ +{ CPUFUNC(op_20e8_0), 0, 8424 }, /* MOVE.L (d16,An),(An)+ */ +{ CPUFUNC(op_20f0_0), 0, 8432 }, /* MOVE.L (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_20f8_0), 0, 8440 }, /* MOVE.L (xxx).W,(An)+ */ +{ CPUFUNC(op_20f9_0), 0, 8441 }, /* MOVE.L (xxx).L,(An)+ */ +{ CPUFUNC(op_20fa_0), 0, 8442 }, /* MOVE.L (d16,PC),(An)+ */ +{ CPUFUNC(op_20fb_0), 0, 8443 }, /* MOVE.L (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_20fc_0), 0, 8444 }, /* MOVE.L #.L,(An)+ */ +{ CPUFUNC(op_2100_0), 0, 8448 }, /* MOVE.L Dn,-(An) */ +{ CPUFUNC(op_2108_0), 0, 8456 }, /* MOVE.L An,-(An) */ +{ CPUFUNC(op_2110_0), 0, 8464 }, /* MOVE.L (An),-(An) */ +{ CPUFUNC(op_2118_0), 0, 8472 }, /* MOVE.L (An)+,-(An) */ +{ CPUFUNC(op_2120_0), 0, 8480 }, /* MOVE.L -(An),-(An) */ +{ CPUFUNC(op_2128_0), 0, 8488 }, /* MOVE.L (d16,An),-(An) */ +{ CPUFUNC(op_2130_0), 0, 8496 }, /* MOVE.L (d8,An,Xn),-(An) */ +{ CPUFUNC(op_2138_0), 0, 8504 }, /* MOVE.L (xxx).W,-(An) */ +{ CPUFUNC(op_2139_0), 0, 8505 }, /* MOVE.L (xxx).L,-(An) */ +{ CPUFUNC(op_213a_0), 0, 8506 }, /* MOVE.L (d16,PC),-(An) */ +{ CPUFUNC(op_213b_0), 0, 8507 }, /* MOVE.L (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_213c_0), 0, 8508 }, /* MOVE.L #.L,-(An) */ +{ CPUFUNC(op_2140_0), 0, 8512 }, /* MOVE.L Dn,(d16,An) */ +{ CPUFUNC(op_2148_0), 0, 8520 }, /* MOVE.L An,(d16,An) */ +{ CPUFUNC(op_2150_0), 0, 8528 }, /* MOVE.L (An),(d16,An) */ +{ CPUFUNC(op_2158_0), 0, 8536 }, /* MOVE.L (An)+,(d16,An) */ +{ CPUFUNC(op_2160_0), 0, 8544 }, /* MOVE.L -(An),(d16,An) */ +{ CPUFUNC(op_2168_0), 0, 8552 }, /* MOVE.L (d16,An),(d16,An) */ +{ CPUFUNC(op_2170_0), 0, 8560 }, /* MOVE.L (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_2178_0), 0, 8568 }, /* MOVE.L (xxx).W,(d16,An) */ +{ CPUFUNC(op_2179_0), 0, 8569 }, /* MOVE.L (xxx).L,(d16,An) */ +{ CPUFUNC(op_217a_0), 0, 8570 }, /* MOVE.L (d16,PC),(d16,An) */ +{ CPUFUNC(op_217b_0), 0, 8571 }, /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_217c_0), 0, 8572 }, /* MOVE.L #.L,(d16,An) */ +{ CPUFUNC(op_2180_0), 0, 8576 }, /* MOVE.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_2188_0), 0, 8584 }, /* MOVE.L An,(d8,An,Xn) */ +{ CPUFUNC(op_2190_0), 0, 8592 }, /* MOVE.L (An),(d8,An,Xn) */ +{ CPUFUNC(op_2198_0), 0, 8600 }, /* MOVE.L (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_21a0_0), 0, 8608 }, /* MOVE.L -(An),(d8,An,Xn) */ +{ CPUFUNC(op_21a8_0), 0, 8616 }, /* MOVE.L (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_21b0_0), 0, 8624 }, /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21b8_0), 0, 8632 }, /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_21b9_0), 0, 8633 }, /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_21ba_0), 0, 8634 }, /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_21bb_0), 0, 8635 }, /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21bc_0), 0, 8636 }, /* MOVE.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_21c0_0), 0, 8640 }, /* MOVE.L Dn,(xxx).W */ +{ CPUFUNC(op_21c8_0), 0, 8648 }, /* MOVE.L An,(xxx).W */ +{ CPUFUNC(op_21d0_0), 0, 8656 }, /* MOVE.L (An),(xxx).W */ +{ CPUFUNC(op_21d8_0), 0, 8664 }, /* MOVE.L (An)+,(xxx).W */ +{ CPUFUNC(op_21e0_0), 0, 8672 }, /* MOVE.L -(An),(xxx).W */ +{ CPUFUNC(op_21e8_0), 0, 8680 }, /* MOVE.L (d16,An),(xxx).W */ +{ CPUFUNC(op_21f0_0), 0, 8688 }, /* MOVE.L (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_21f8_0), 0, 8696 }, /* MOVE.L (xxx).W,(xxx).W */ +{ CPUFUNC(op_21f9_0), 0, 8697 }, /* MOVE.L (xxx).L,(xxx).W */ +{ CPUFUNC(op_21fa_0), 0, 8698 }, /* MOVE.L (d16,PC),(xxx).W */ +{ CPUFUNC(op_21fb_0), 0, 8699 }, /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_21fc_0), 0, 8700 }, /* MOVE.L #.L,(xxx).W */ +{ CPUFUNC(op_23c0_0), 0, 9152 }, /* MOVE.L Dn,(xxx).L */ +{ CPUFUNC(op_23c8_0), 0, 9160 }, /* MOVE.L An,(xxx).L */ +{ CPUFUNC(op_23d0_0), 0, 9168 }, /* MOVE.L (An),(xxx).L */ +{ CPUFUNC(op_23d8_0), 0, 9176 }, /* MOVE.L (An)+,(xxx).L */ +{ CPUFUNC(op_23e0_0), 0, 9184 }, /* MOVE.L -(An),(xxx).L */ +{ CPUFUNC(op_23e8_0), 0, 9192 }, /* MOVE.L (d16,An),(xxx).L */ +{ CPUFUNC(op_23f0_0), 0, 9200 }, /* MOVE.L (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_23f8_0), 0, 9208 }, /* MOVE.L (xxx).W,(xxx).L */ +{ CPUFUNC(op_23f9_0), 0, 9209 }, /* MOVE.L (xxx).L,(xxx).L */ +{ CPUFUNC(op_23fa_0), 0, 9210 }, /* MOVE.L (d16,PC),(xxx).L */ +{ CPUFUNC(op_23fb_0), 0, 9211 }, /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_23fc_0), 0, 9212 }, /* MOVE.L #.L,(xxx).L */ +{ CPUFUNC(op_3000_0), 0, 12288 }, /* MOVE.W Dn,Dn */ +{ CPUFUNC(op_3008_0), 0, 12296 }, /* MOVE.W An,Dn */ +{ CPUFUNC(op_3010_0), 0, 12304 }, /* MOVE.W (An),Dn */ +{ CPUFUNC(op_3018_0), 0, 12312 }, /* MOVE.W (An)+,Dn */ +{ CPUFUNC(op_3020_0), 0, 12320 }, /* MOVE.W -(An),Dn */ +{ CPUFUNC(op_3028_0), 0, 12328 }, /* MOVE.W (d16,An),Dn */ +{ CPUFUNC(op_3030_0), 0, 12336 }, /* MOVE.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_3038_0), 0, 12344 }, /* MOVE.W (xxx).W,Dn */ +{ CPUFUNC(op_3039_0), 0, 12345 }, /* MOVE.W (xxx).L,Dn */ +{ CPUFUNC(op_303a_0), 0, 12346 }, /* MOVE.W (d16,PC),Dn */ +{ CPUFUNC(op_303b_0), 0, 12347 }, /* MOVE.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_303c_0), 0, 12348 }, /* MOVE.W #.W,Dn */ +{ CPUFUNC_FF(op_3040_0), 0, 12352 }, /* MOVEA.W Dn,An */ +{ CPUFUNC_FF(op_3048_0), 0, 12360 }, /* MOVEA.W An,An */ +{ CPUFUNC_FF(op_3050_0), 0, 12368 }, /* MOVEA.W (An),An */ +{ CPUFUNC_FF(op_3058_0), 0, 12376 }, /* MOVEA.W (An)+,An */ +{ CPUFUNC_FF(op_3060_0), 0, 12384 }, /* MOVEA.W -(An),An */ +{ CPUFUNC_FF(op_3068_0), 0, 12392 }, /* MOVEA.W (d16,An),An */ +{ CPUFUNC_FF(op_3070_0), 0, 12400 }, /* MOVEA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_3078_0), 0, 12408 }, /* MOVEA.W (xxx).W,An */ +{ CPUFUNC_FF(op_3079_0), 0, 12409 }, /* MOVEA.W (xxx).L,An */ +{ CPUFUNC_FF(op_307a_0), 0, 12410 }, /* MOVEA.W (d16,PC),An */ +{ CPUFUNC_FF(op_307b_0), 0, 12411 }, /* MOVEA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_307c_0), 0, 12412 }, /* MOVEA.W #.W,An */ +{ CPUFUNC(op_3080_0), 0, 12416 }, /* MOVE.W Dn,(An) */ +{ CPUFUNC(op_3088_0), 0, 12424 }, /* MOVE.W An,(An) */ +{ CPUFUNC(op_3090_0), 0, 12432 }, /* MOVE.W (An),(An) */ +{ CPUFUNC(op_3098_0), 0, 12440 }, /* MOVE.W (An)+,(An) */ +{ CPUFUNC(op_30a0_0), 0, 12448 }, /* MOVE.W -(An),(An) */ +{ CPUFUNC(op_30a8_0), 0, 12456 }, /* MOVE.W (d16,An),(An) */ +{ CPUFUNC(op_30b0_0), 0, 12464 }, /* MOVE.W (d8,An,Xn),(An) */ +{ CPUFUNC(op_30b8_0), 0, 12472 }, /* MOVE.W (xxx).W,(An) */ +{ CPUFUNC(op_30b9_0), 0, 12473 }, /* MOVE.W (xxx).L,(An) */ +{ CPUFUNC(op_30ba_0), 0, 12474 }, /* MOVE.W (d16,PC),(An) */ +{ CPUFUNC(op_30bb_0), 0, 12475 }, /* MOVE.W (d8,PC,Xn),(An) */ +{ CPUFUNC(op_30bc_0), 0, 12476 }, /* MOVE.W #.W,(An) */ +{ CPUFUNC(op_30c0_0), 0, 12480 }, /* MOVE.W Dn,(An)+ */ +{ CPUFUNC(op_30c8_0), 0, 12488 }, /* MOVE.W An,(An)+ */ +{ CPUFUNC(op_30d0_0), 0, 12496 }, /* MOVE.W (An),(An)+ */ +{ CPUFUNC(op_30d8_0), 0, 12504 }, /* MOVE.W (An)+,(An)+ */ +{ CPUFUNC(op_30e0_0), 0, 12512 }, /* MOVE.W -(An),(An)+ */ +{ CPUFUNC(op_30e8_0), 0, 12520 }, /* MOVE.W (d16,An),(An)+ */ +{ CPUFUNC(op_30f0_0), 0, 12528 }, /* MOVE.W (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_30f8_0), 0, 12536 }, /* MOVE.W (xxx).W,(An)+ */ +{ CPUFUNC(op_30f9_0), 0, 12537 }, /* MOVE.W (xxx).L,(An)+ */ +{ CPUFUNC(op_30fa_0), 0, 12538 }, /* MOVE.W (d16,PC),(An)+ */ +{ CPUFUNC(op_30fb_0), 0, 12539 }, /* MOVE.W (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_30fc_0), 0, 12540 }, /* MOVE.W #.W,(An)+ */ +{ CPUFUNC(op_3100_0), 0, 12544 }, /* MOVE.W Dn,-(An) */ +{ CPUFUNC(op_3108_0), 0, 12552 }, /* MOVE.W An,-(An) */ +{ CPUFUNC(op_3110_0), 0, 12560 }, /* MOVE.W (An),-(An) */ +{ CPUFUNC(op_3118_0), 0, 12568 }, /* MOVE.W (An)+,-(An) */ +{ CPUFUNC(op_3120_0), 0, 12576 }, /* MOVE.W -(An),-(An) */ +{ CPUFUNC(op_3128_0), 0, 12584 }, /* MOVE.W (d16,An),-(An) */ +{ CPUFUNC(op_3130_0), 0, 12592 }, /* MOVE.W (d8,An,Xn),-(An) */ +{ CPUFUNC(op_3138_0), 0, 12600 }, /* MOVE.W (xxx).W,-(An) */ +{ CPUFUNC(op_3139_0), 0, 12601 }, /* MOVE.W (xxx).L,-(An) */ +{ CPUFUNC(op_313a_0), 0, 12602 }, /* MOVE.W (d16,PC),-(An) */ +{ CPUFUNC(op_313b_0), 0, 12603 }, /* MOVE.W (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_313c_0), 0, 12604 }, /* MOVE.W #.W,-(An) */ +{ CPUFUNC(op_3140_0), 0, 12608 }, /* MOVE.W Dn,(d16,An) */ +{ CPUFUNC(op_3148_0), 0, 12616 }, /* MOVE.W An,(d16,An) */ +{ CPUFUNC(op_3150_0), 0, 12624 }, /* MOVE.W (An),(d16,An) */ +{ CPUFUNC(op_3158_0), 0, 12632 }, /* MOVE.W (An)+,(d16,An) */ +{ CPUFUNC(op_3160_0), 0, 12640 }, /* MOVE.W -(An),(d16,An) */ +{ CPUFUNC(op_3168_0), 0, 12648 }, /* MOVE.W (d16,An),(d16,An) */ +{ CPUFUNC(op_3170_0), 0, 12656 }, /* MOVE.W (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_3178_0), 0, 12664 }, /* MOVE.W (xxx).W,(d16,An) */ +{ CPUFUNC(op_3179_0), 0, 12665 }, /* MOVE.W (xxx).L,(d16,An) */ +{ CPUFUNC(op_317a_0), 0, 12666 }, /* MOVE.W (d16,PC),(d16,An) */ +{ CPUFUNC(op_317b_0), 0, 12667 }, /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_317c_0), 0, 12668 }, /* MOVE.W #.W,(d16,An) */ +{ CPUFUNC(op_3180_0), 0, 12672 }, /* MOVE.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_3188_0), 0, 12680 }, /* MOVE.W An,(d8,An,Xn) */ +{ CPUFUNC(op_3190_0), 0, 12688 }, /* MOVE.W (An),(d8,An,Xn) */ +{ CPUFUNC(op_3198_0), 0, 12696 }, /* MOVE.W (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_31a0_0), 0, 12704 }, /* MOVE.W -(An),(d8,An,Xn) */ +{ CPUFUNC(op_31a8_0), 0, 12712 }, /* MOVE.W (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_31b0_0), 0, 12720 }, /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31b8_0), 0, 12728 }, /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_31b9_0), 0, 12729 }, /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_31ba_0), 0, 12730 }, /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_31bb_0), 0, 12731 }, /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31bc_0), 0, 12732 }, /* MOVE.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_31c0_0), 0, 12736 }, /* MOVE.W Dn,(xxx).W */ +{ CPUFUNC(op_31c8_0), 0, 12744 }, /* MOVE.W An,(xxx).W */ +{ CPUFUNC(op_31d0_0), 0, 12752 }, /* MOVE.W (An),(xxx).W */ +{ CPUFUNC(op_31d8_0), 0, 12760 }, /* MOVE.W (An)+,(xxx).W */ +{ CPUFUNC(op_31e0_0), 0, 12768 }, /* MOVE.W -(An),(xxx).W */ +{ CPUFUNC(op_31e8_0), 0, 12776 }, /* MOVE.W (d16,An),(xxx).W */ +{ CPUFUNC(op_31f0_0), 0, 12784 }, /* MOVE.W (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_31f8_0), 0, 12792 }, /* MOVE.W (xxx).W,(xxx).W */ +{ CPUFUNC(op_31f9_0), 0, 12793 }, /* MOVE.W (xxx).L,(xxx).W */ +{ CPUFUNC(op_31fa_0), 0, 12794 }, /* MOVE.W (d16,PC),(xxx).W */ +{ CPUFUNC(op_31fb_0), 0, 12795 }, /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_31fc_0), 0, 12796 }, /* MOVE.W #.W,(xxx).W */ +{ CPUFUNC(op_33c0_0), 0, 13248 }, /* MOVE.W Dn,(xxx).L */ +{ CPUFUNC(op_33c8_0), 0, 13256 }, /* MOVE.W An,(xxx).L */ +{ CPUFUNC(op_33d0_0), 0, 13264 }, /* MOVE.W (An),(xxx).L */ +{ CPUFUNC(op_33d8_0), 0, 13272 }, /* MOVE.W (An)+,(xxx).L */ +{ CPUFUNC(op_33e0_0), 0, 13280 }, /* MOVE.W -(An),(xxx).L */ +{ CPUFUNC(op_33e8_0), 0, 13288 }, /* MOVE.W (d16,An),(xxx).L */ +{ CPUFUNC(op_33f0_0), 0, 13296 }, /* MOVE.W (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_33f8_0), 0, 13304 }, /* MOVE.W (xxx).W,(xxx).L */ +{ CPUFUNC(op_33f9_0), 0, 13305 }, /* MOVE.W (xxx).L,(xxx).L */ +{ CPUFUNC(op_33fa_0), 0, 13306 }, /* MOVE.W (d16,PC),(xxx).L */ +{ CPUFUNC(op_33fb_0), 0, 13307 }, /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_33fc_0), 0, 13308 }, /* MOVE.W #.W,(xxx).L */ +{ CPUFUNC(op_4000_0), 0, 16384 }, /* NEGX.B Dn */ +{ CPUFUNC(op_4010_0), 0, 16400 }, /* NEGX.B (An) */ +{ CPUFUNC(op_4018_0), 0, 16408 }, /* NEGX.B (An)+ */ +{ CPUFUNC(op_4020_0), 0, 16416 }, /* NEGX.B -(An) */ +{ CPUFUNC(op_4028_0), 0, 16424 }, /* NEGX.B (d16,An) */ +{ CPUFUNC(op_4030_0), 0, 16432 }, /* NEGX.B (d8,An,Xn) */ +{ CPUFUNC(op_4038_0), 0, 16440 }, /* NEGX.B (xxx).W */ +{ CPUFUNC(op_4039_0), 0, 16441 }, /* NEGX.B (xxx).L */ +{ CPUFUNC(op_4040_0), 0, 16448 }, /* NEGX.W Dn */ +{ CPUFUNC(op_4050_0), 0, 16464 }, /* NEGX.W (An) */ +{ CPUFUNC(op_4058_0), 0, 16472 }, /* NEGX.W (An)+ */ +{ CPUFUNC(op_4060_0), 0, 16480 }, /* NEGX.W -(An) */ +{ CPUFUNC(op_4068_0), 0, 16488 }, /* NEGX.W (d16,An) */ +{ CPUFUNC(op_4070_0), 0, 16496 }, /* NEGX.W (d8,An,Xn) */ +{ CPUFUNC(op_4078_0), 0, 16504 }, /* NEGX.W (xxx).W */ +{ CPUFUNC(op_4079_0), 0, 16505 }, /* NEGX.W (xxx).L */ +{ CPUFUNC(op_4080_0), 0, 16512 }, /* NEGX.L Dn */ +{ CPUFUNC(op_4090_0), 0, 16528 }, /* NEGX.L (An) */ +{ CPUFUNC(op_4098_0), 0, 16536 }, /* NEGX.L (An)+ */ +{ CPUFUNC(op_40a0_0), 0, 16544 }, /* NEGX.L -(An) */ +{ CPUFUNC(op_40a8_0), 0, 16552 }, /* NEGX.L (d16,An) */ +{ CPUFUNC(op_40b0_0), 0, 16560 }, /* NEGX.L (d8,An,Xn) */ +{ CPUFUNC(op_40b8_0), 0, 16568 }, /* NEGX.L (xxx).W */ +{ CPUFUNC(op_40b9_0), 0, 16569 }, /* NEGX.L (xxx).L */ +{ CPUFUNC_FF(op_40c0_0), 0, 16576 }, /* MVSR2.W Dn */ +{ CPUFUNC_FF(op_40d0_0), 0, 16592 }, /* MVSR2.W (An) */ +{ CPUFUNC_FF(op_40d8_0), 0, 16600 }, /* MVSR2.W (An)+ */ +{ CPUFUNC_FF(op_40e0_0), 0, 16608 }, /* MVSR2.W -(An) */ +{ CPUFUNC_FF(op_40e8_0), 0, 16616 }, /* MVSR2.W (d16,An) */ +{ CPUFUNC_FF(op_40f0_0), 0, 16624 }, /* MVSR2.W (d8,An,Xn) */ +{ CPUFUNC_FF(op_40f8_0), 0, 16632 }, /* MVSR2.W (xxx).W */ +{ CPUFUNC_FF(op_40f9_0), 0, 16633 }, /* MVSR2.W (xxx).L */ +{ CPUFUNC(op_4100_0), 0, 16640 }, /* CHK.L Dn,Dn */ +{ CPUFUNC(op_4110_0), 0, 16656 }, /* CHK.L (An),Dn */ +{ CPUFUNC(op_4118_0), 0, 16664 }, /* CHK.L (An)+,Dn */ +{ CPUFUNC(op_4120_0), 0, 16672 }, /* CHK.L -(An),Dn */ +{ CPUFUNC(op_4128_0), 0, 16680 }, /* CHK.L (d16,An),Dn */ +{ CPUFUNC(op_4130_0), 0, 16688 }, /* CHK.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_4138_0), 0, 16696 }, /* CHK.L (xxx).W,Dn */ +{ CPUFUNC(op_4139_0), 0, 16697 }, /* CHK.L (xxx).L,Dn */ +{ CPUFUNC(op_413a_0), 0, 16698 }, /* CHK.L (d16,PC),Dn */ +{ CPUFUNC(op_413b_0), 0, 16699 }, /* CHK.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_413c_0), 0, 16700 }, /* CHK.L #.L,Dn */ +{ CPUFUNC(op_4180_0), 0, 16768 }, /* CHK.W Dn,Dn */ +{ CPUFUNC(op_4190_0), 0, 16784 }, /* CHK.W (An),Dn */ +{ CPUFUNC(op_4198_0), 0, 16792 }, /* CHK.W (An)+,Dn */ +{ CPUFUNC(op_41a0_0), 0, 16800 }, /* CHK.W -(An),Dn */ +{ CPUFUNC(op_41a8_0), 0, 16808 }, /* CHK.W (d16,An),Dn */ +{ CPUFUNC(op_41b0_0), 0, 16816 }, /* CHK.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_41b8_0), 0, 16824 }, /* CHK.W (xxx).W,Dn */ +{ CPUFUNC(op_41b9_0), 0, 16825 }, /* CHK.W (xxx).L,Dn */ +{ CPUFUNC(op_41ba_0), 0, 16826 }, /* CHK.W (d16,PC),Dn */ +{ CPUFUNC(op_41bb_0), 0, 16827 }, /* CHK.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_41bc_0), 0, 16828 }, /* CHK.W #.W,Dn */ +{ CPUFUNC_FF(op_41d0_0), 0, 16848 }, /* LEA.L (An),An */ +{ CPUFUNC_FF(op_41e8_0), 0, 16872 }, /* LEA.L (d16,An),An */ +{ CPUFUNC_FF(op_41f0_0), 0, 16880 }, /* LEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_41f8_0), 0, 16888 }, /* LEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_41f9_0), 0, 16889 }, /* LEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_41fa_0), 0, 16890 }, /* LEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_41fb_0), 0, 16891 }, /* LEA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_4200_0), 0, 16896 }, /* CLR.B Dn */ +{ CPUFUNC(op_4210_0), 0, 16912 }, /* CLR.B (An) */ +{ CPUFUNC(op_4218_0), 0, 16920 }, /* CLR.B (An)+ */ +{ CPUFUNC(op_4220_0), 0, 16928 }, /* CLR.B -(An) */ +{ CPUFUNC(op_4228_0), 0, 16936 }, /* CLR.B (d16,An) */ +{ CPUFUNC(op_4230_0), 0, 16944 }, /* CLR.B (d8,An,Xn) */ +{ CPUFUNC(op_4238_0), 0, 16952 }, /* CLR.B (xxx).W */ +{ CPUFUNC(op_4239_0), 0, 16953 }, /* CLR.B (xxx).L */ +{ CPUFUNC(op_4240_0), 0, 16960 }, /* CLR.W Dn */ +{ CPUFUNC(op_4250_0), 0, 16976 }, /* CLR.W (An) */ +{ CPUFUNC(op_4258_0), 0, 16984 }, /* CLR.W (An)+ */ +{ CPUFUNC(op_4260_0), 0, 16992 }, /* CLR.W -(An) */ +{ CPUFUNC(op_4268_0), 0, 17000 }, /* CLR.W (d16,An) */ +{ CPUFUNC(op_4270_0), 0, 17008 }, /* CLR.W (d8,An,Xn) */ +{ CPUFUNC(op_4278_0), 0, 17016 }, /* CLR.W (xxx).W */ +{ CPUFUNC(op_4279_0), 0, 17017 }, /* CLR.W (xxx).L */ +{ CPUFUNC(op_4280_0), 0, 17024 }, /* CLR.L Dn */ +{ CPUFUNC(op_4290_0), 0, 17040 }, /* CLR.L (An) */ +{ CPUFUNC(op_4298_0), 0, 17048 }, /* CLR.L (An)+ */ +{ CPUFUNC(op_42a0_0), 0, 17056 }, /* CLR.L -(An) */ +{ CPUFUNC(op_42a8_0), 0, 17064 }, /* CLR.L (d16,An) */ +{ CPUFUNC(op_42b0_0), 0, 17072 }, /* CLR.L (d8,An,Xn) */ +{ CPUFUNC(op_42b8_0), 0, 17080 }, /* CLR.L (xxx).W */ +{ CPUFUNC(op_42b9_0), 0, 17081 }, /* CLR.L (xxx).L */ +{ CPUFUNC_FF(op_42c0_0), 0, 17088 }, /* MVSR2.B Dn */ +{ CPUFUNC_FF(op_42d0_0), 0, 17104 }, /* MVSR2.B (An) */ +{ CPUFUNC_FF(op_42d8_0), 0, 17112 }, /* MVSR2.B (An)+ */ +{ CPUFUNC_FF(op_42e0_0), 0, 17120 }, /* MVSR2.B -(An) */ +{ CPUFUNC_FF(op_42e8_0), 0, 17128 }, /* MVSR2.B (d16,An) */ +{ CPUFUNC_FF(op_42f0_0), 0, 17136 }, /* MVSR2.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_42f8_0), 0, 17144 }, /* MVSR2.B (xxx).W */ +{ CPUFUNC_FF(op_42f9_0), 0, 17145 }, /* MVSR2.B (xxx).L */ +{ CPUFUNC(op_4400_0), 0, 17408 }, /* NEG.B Dn */ +{ CPUFUNC(op_4410_0), 0, 17424 }, /* NEG.B (An) */ +{ CPUFUNC(op_4418_0), 0, 17432 }, /* NEG.B (An)+ */ +{ CPUFUNC(op_4420_0), 0, 17440 }, /* NEG.B -(An) */ +{ CPUFUNC(op_4428_0), 0, 17448 }, /* NEG.B (d16,An) */ +{ CPUFUNC(op_4430_0), 0, 17456 }, /* NEG.B (d8,An,Xn) */ +{ CPUFUNC(op_4438_0), 0, 17464 }, /* NEG.B (xxx).W */ +{ CPUFUNC(op_4439_0), 0, 17465 }, /* NEG.B (xxx).L */ +{ CPUFUNC(op_4440_0), 0, 17472 }, /* NEG.W Dn */ +{ CPUFUNC(op_4450_0), 0, 17488 }, /* NEG.W (An) */ +{ CPUFUNC(op_4458_0), 0, 17496 }, /* NEG.W (An)+ */ +{ CPUFUNC(op_4460_0), 0, 17504 }, /* NEG.W -(An) */ +{ CPUFUNC(op_4468_0), 0, 17512 }, /* NEG.W (d16,An) */ +{ CPUFUNC(op_4470_0), 0, 17520 }, /* NEG.W (d8,An,Xn) */ +{ CPUFUNC(op_4478_0), 0, 17528 }, /* NEG.W (xxx).W */ +{ CPUFUNC(op_4479_0), 0, 17529 }, /* NEG.W (xxx).L */ +{ CPUFUNC(op_4480_0), 0, 17536 }, /* NEG.L Dn */ +{ CPUFUNC(op_4490_0), 0, 17552 }, /* NEG.L (An) */ +{ CPUFUNC(op_4498_0), 0, 17560 }, /* NEG.L (An)+ */ +{ CPUFUNC(op_44a0_0), 0, 17568 }, /* NEG.L -(An) */ +{ CPUFUNC(op_44a8_0), 0, 17576 }, /* NEG.L (d16,An) */ +{ CPUFUNC(op_44b0_0), 0, 17584 }, /* NEG.L (d8,An,Xn) */ +{ CPUFUNC(op_44b8_0), 0, 17592 }, /* NEG.L (xxx).W */ +{ CPUFUNC(op_44b9_0), 0, 17593 }, /* NEG.L (xxx).L */ +{ CPUFUNC(op_44c0_0), 0, 17600 }, /* MV2SR.B Dn */ +{ CPUFUNC(op_44d0_0), 0, 17616 }, /* MV2SR.B (An) */ +{ CPUFUNC(op_44d8_0), 0, 17624 }, /* MV2SR.B (An)+ */ +{ CPUFUNC(op_44e0_0), 0, 17632 }, /* MV2SR.B -(An) */ +{ CPUFUNC(op_44e8_0), 0, 17640 }, /* MV2SR.B (d16,An) */ +{ CPUFUNC(op_44f0_0), 0, 17648 }, /* MV2SR.B (d8,An,Xn) */ +{ CPUFUNC(op_44f8_0), 0, 17656 }, /* MV2SR.B (xxx).W */ +{ CPUFUNC(op_44f9_0), 0, 17657 }, /* MV2SR.B (xxx).L */ +{ CPUFUNC(op_44fa_0), 0, 17658 }, /* MV2SR.B (d16,PC) */ +{ CPUFUNC(op_44fb_0), 0, 17659 }, /* MV2SR.B (d8,PC,Xn) */ +{ CPUFUNC(op_44fc_0), 0, 17660 }, /* MV2SR.B #.B */ +{ CPUFUNC(op_4600_0), 0, 17920 }, /* NOT.B Dn */ +{ CPUFUNC(op_4610_0), 0, 17936 }, /* NOT.B (An) */ +{ CPUFUNC(op_4618_0), 0, 17944 }, /* NOT.B (An)+ */ +{ CPUFUNC(op_4620_0), 0, 17952 }, /* NOT.B -(An) */ +{ CPUFUNC(op_4628_0), 0, 17960 }, /* NOT.B (d16,An) */ +{ CPUFUNC(op_4630_0), 0, 17968 }, /* NOT.B (d8,An,Xn) */ +{ CPUFUNC(op_4638_0), 0, 17976 }, /* NOT.B (xxx).W */ +{ CPUFUNC(op_4639_0), 0, 17977 }, /* NOT.B (xxx).L */ +{ CPUFUNC(op_4640_0), 0, 17984 }, /* NOT.W Dn */ +{ CPUFUNC(op_4650_0), 0, 18000 }, /* NOT.W (An) */ +{ CPUFUNC(op_4658_0), 0, 18008 }, /* NOT.W (An)+ */ +{ CPUFUNC(op_4660_0), 0, 18016 }, /* NOT.W -(An) */ +{ CPUFUNC(op_4668_0), 0, 18024 }, /* NOT.W (d16,An) */ +{ CPUFUNC(op_4670_0), 0, 18032 }, /* NOT.W (d8,An,Xn) */ +{ CPUFUNC(op_4678_0), 0, 18040 }, /* NOT.W (xxx).W */ +{ CPUFUNC(op_4679_0), 0, 18041 }, /* NOT.W (xxx).L */ +{ CPUFUNC(op_4680_0), 0, 18048 }, /* NOT.L Dn */ +{ CPUFUNC(op_4690_0), 0, 18064 }, /* NOT.L (An) */ +{ CPUFUNC(op_4698_0), 0, 18072 }, /* NOT.L (An)+ */ +{ CPUFUNC(op_46a0_0), 0, 18080 }, /* NOT.L -(An) */ +{ CPUFUNC(op_46a8_0), 0, 18088 }, /* NOT.L (d16,An) */ +{ CPUFUNC(op_46b0_0), 0, 18096 }, /* NOT.L (d8,An,Xn) */ +{ CPUFUNC(op_46b8_0), 0, 18104 }, /* NOT.L (xxx).W */ +{ CPUFUNC(op_46b9_0), 0, 18105 }, /* NOT.L (xxx).L */ +{ CPUFUNC(op_46c0_0), 0, 18112 }, /* MV2SR.W Dn */ +{ CPUFUNC(op_46d0_0), 0, 18128 }, /* MV2SR.W (An) */ +{ CPUFUNC(op_46d8_0), 0, 18136 }, /* MV2SR.W (An)+ */ +{ CPUFUNC(op_46e0_0), 0, 18144 }, /* MV2SR.W -(An) */ +{ CPUFUNC(op_46e8_0), 0, 18152 }, /* MV2SR.W (d16,An) */ +{ CPUFUNC(op_46f0_0), 0, 18160 }, /* MV2SR.W (d8,An,Xn) */ +{ CPUFUNC(op_46f8_0), 0, 18168 }, /* MV2SR.W (xxx).W */ +{ CPUFUNC(op_46f9_0), 0, 18169 }, /* MV2SR.W (xxx).L */ +{ CPUFUNC(op_46fa_0), 0, 18170 }, /* MV2SR.W (d16,PC) */ +{ CPUFUNC(op_46fb_0), 0, 18171 }, /* MV2SR.W (d8,PC,Xn) */ +{ CPUFUNC(op_46fc_0), 0, 18172 }, /* MV2SR.W #.W */ +{ CPUFUNC(op_4800_1), 0, 18432 }, /* NBCD.B Dn */ +{ CPUFUNC_FF(op_4808_0), 0, 18440 }, /* LINK.L An,#.L */ +{ CPUFUNC(op_4810_1), 0, 18448 }, /* NBCD.B (An) */ +{ CPUFUNC(op_4818_1), 0, 18456 }, /* NBCD.B (An)+ */ +{ CPUFUNC(op_4820_1), 0, 18464 }, /* NBCD.B -(An) */ +{ CPUFUNC(op_4828_1), 0, 18472 }, /* NBCD.B (d16,An) */ +{ CPUFUNC(op_4830_1), 0, 18480 }, /* NBCD.B (d8,An,Xn) */ +{ CPUFUNC(op_4838_1), 0, 18488 }, /* NBCD.B (xxx).W */ +{ CPUFUNC(op_4839_1), 0, 18489 }, /* NBCD.B (xxx).L */ +{ CPUFUNC(op_4840_0), 0, 18496 }, /* SWAP.W Dn */ +{ CPUFUNC_FF(op_4848_0), 0, 18504 }, /* BKPT.L # */ +{ CPUFUNC_FF(op_4850_0), 0, 18512 }, /* PEA.L (An) */ +{ CPUFUNC_FF(op_4868_0), 0, 18536 }, /* PEA.L (d16,An) */ +{ CPUFUNC_FF(op_4870_0), 0, 18544 }, /* PEA.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4878_0), 0, 18552 }, /* PEA.L (xxx).W */ +{ CPUFUNC_FF(op_4879_0), 0, 18553 }, /* PEA.L (xxx).L */ +{ CPUFUNC_FF(op_487a_0), 0, 18554 }, /* PEA.L (d16,PC) */ +{ CPUFUNC_FF(op_487b_0), 0, 18555 }, /* PEA.L (d8,PC,Xn) */ +{ CPUFUNC(op_4880_0), 0, 18560 }, /* EXT.W Dn */ +{ CPUFUNC_FF(op_4890_0), 0, 18576 }, /* MVMLE.W #.W,(An) */ +{ CPUFUNC_FF(op_48a0_0), 0, 18592 }, /* MVMLE.W #.W,-(An) */ +{ CPUFUNC_FF(op_48a8_0), 0, 18600 }, /* MVMLE.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_48b0_0), 0, 18608 }, /* MVMLE.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48b8_0), 0, 18616 }, /* MVMLE.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_48b9_0), 0, 18617 }, /* MVMLE.W #.W,(xxx).L */ +{ CPUFUNC(op_48c0_0), 0, 18624 }, /* EXT.L Dn */ +{ CPUFUNC_FF(op_48d0_0), 0, 18640 }, /* MVMLE.L #.W,(An) */ +{ CPUFUNC_FF(op_48e0_0), 0, 18656 }, /* MVMLE.L #.W,-(An) */ +{ CPUFUNC_FF(op_48e8_0), 0, 18664 }, /* MVMLE.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_48f0_0), 0, 18672 }, /* MVMLE.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48f8_0), 0, 18680 }, /* MVMLE.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_48f9_0), 0, 18681 }, /* MVMLE.L #.W,(xxx).L */ +{ CPUFUNC(op_49c0_0), 0, 18880 }, /* EXT.B Dn */ +{ CPUFUNC(op_4a00_0), 0, 18944 }, /* TST.B Dn */ +{ CPUFUNC(op_4a10_0), 0, 18960 }, /* TST.B (An) */ +{ CPUFUNC(op_4a18_0), 0, 18968 }, /* TST.B (An)+ */ +{ CPUFUNC(op_4a20_0), 0, 18976 }, /* TST.B -(An) */ +{ CPUFUNC(op_4a28_0), 0, 18984 }, /* TST.B (d16,An) */ +{ CPUFUNC(op_4a30_0), 0, 18992 }, /* TST.B (d8,An,Xn) */ +{ CPUFUNC(op_4a38_0), 0, 19000 }, /* TST.B (xxx).W */ +{ CPUFUNC(op_4a39_0), 0, 19001 }, /* TST.B (xxx).L */ +{ CPUFUNC(op_4a3a_0), 0, 19002 }, /* TST.B (d16,PC) */ +{ CPUFUNC(op_4a3b_0), 0, 19003 }, /* TST.B (d8,PC,Xn) */ +{ CPUFUNC(op_4a3c_0), 0, 19004 }, /* TST.B #.B */ +{ CPUFUNC(op_4a40_0), 0, 19008 }, /* TST.W Dn */ +{ CPUFUNC(op_4a48_0), 0, 19016 }, /* TST.W An */ +{ CPUFUNC(op_4a50_0), 0, 19024 }, /* TST.W (An) */ +{ CPUFUNC(op_4a58_0), 0, 19032 }, /* TST.W (An)+ */ +{ CPUFUNC(op_4a60_0), 0, 19040 }, /* TST.W -(An) */ +{ CPUFUNC(op_4a68_0), 0, 19048 }, /* TST.W (d16,An) */ +{ CPUFUNC(op_4a70_0), 0, 19056 }, /* TST.W (d8,An,Xn) */ +{ CPUFUNC(op_4a78_0), 0, 19064 }, /* TST.W (xxx).W */ +{ CPUFUNC(op_4a79_0), 0, 19065 }, /* TST.W (xxx).L */ +{ CPUFUNC(op_4a7a_0), 0, 19066 }, /* TST.W (d16,PC) */ +{ CPUFUNC(op_4a7b_0), 0, 19067 }, /* TST.W (d8,PC,Xn) */ +{ CPUFUNC(op_4a7c_0), 0, 19068 }, /* TST.W #.W */ +{ CPUFUNC(op_4a80_0), 0, 19072 }, /* TST.L Dn */ +{ CPUFUNC(op_4a88_0), 0, 19080 }, /* TST.L An */ +{ CPUFUNC(op_4a90_0), 0, 19088 }, /* TST.L (An) */ +{ CPUFUNC(op_4a98_0), 0, 19096 }, /* TST.L (An)+ */ +{ CPUFUNC(op_4aa0_0), 0, 19104 }, /* TST.L -(An) */ +{ CPUFUNC(op_4aa8_0), 0, 19112 }, /* TST.L (d16,An) */ +{ CPUFUNC(op_4ab0_0), 0, 19120 }, /* TST.L (d8,An,Xn) */ +{ CPUFUNC(op_4ab8_0), 0, 19128 }, /* TST.L (xxx).W */ +{ CPUFUNC(op_4ab9_0), 0, 19129 }, /* TST.L (xxx).L */ +{ CPUFUNC(op_4aba_0), 0, 19130 }, /* TST.L (d16,PC) */ +{ CPUFUNC(op_4abb_0), 0, 19131 }, /* TST.L (d8,PC,Xn) */ +{ CPUFUNC(op_4abc_0), 0, 19132 }, /* TST.L #.L */ +{ CPUFUNC(op_4ac0_0), 0, 19136 }, /* TAS.B Dn */ +{ CPUFUNC(op_4ad0_0), 0, 19152 }, /* TAS.B (An) */ +{ CPUFUNC(op_4ad8_0), 0, 19160 }, /* TAS.B (An)+ */ +{ CPUFUNC(op_4ae0_0), 0, 19168 }, /* TAS.B -(An) */ +{ CPUFUNC(op_4ae8_0), 0, 19176 }, /* TAS.B (d16,An) */ +{ CPUFUNC(op_4af0_0), 0, 19184 }, /* TAS.B (d8,An,Xn) */ +{ CPUFUNC(op_4af8_0), 0, 19192 }, /* TAS.B (xxx).W */ +{ CPUFUNC(op_4af9_0), 0, 19193 }, /* TAS.B (xxx).L */ +{ CPUFUNC(op_4c00_0), 0, 19456 }, /* MULL.L #.W,Dn */ +{ CPUFUNC(op_4c10_0), 0, 19472 }, /* MULL.L #.W,(An) */ +{ CPUFUNC(op_4c18_0), 0, 19480 }, /* MULL.L #.W,(An)+ */ +{ CPUFUNC(op_4c20_0), 0, 19488 }, /* MULL.L #.W,-(An) */ +{ CPUFUNC(op_4c28_0), 0, 19496 }, /* MULL.L #.W,(d16,An) */ +{ CPUFUNC(op_4c30_0), 0, 19504 }, /* MULL.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4c38_0), 0, 19512 }, /* MULL.L #.W,(xxx).W */ +{ CPUFUNC(op_4c39_0), 0, 19513 }, /* MULL.L #.W,(xxx).L */ +{ CPUFUNC(op_4c3a_0), 0, 19514 }, /* MULL.L #.W,(d16,PC) */ +{ CPUFUNC(op_4c3b_0), 0, 19515 }, /* MULL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_4c3c_0), 0, 19516 }, /* MULL.L #.W,#.L */ +{ CPUFUNC(op_4c40_0), 0, 19520 }, /* DIVL.L #.W,Dn */ +{ CPUFUNC(op_4c50_0), 0, 19536 }, /* DIVL.L #.W,(An) */ +{ CPUFUNC(op_4c58_0), 0, 19544 }, /* DIVL.L #.W,(An)+ */ +{ CPUFUNC(op_4c60_0), 0, 19552 }, /* DIVL.L #.W,-(An) */ +{ CPUFUNC(op_4c68_0), 0, 19560 }, /* DIVL.L #.W,(d16,An) */ +{ CPUFUNC(op_4c70_0), 0, 19568 }, /* DIVL.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_4c78_0), 0, 19576 }, /* DIVL.L #.W,(xxx).W */ +{ CPUFUNC(op_4c79_0), 0, 19577 }, /* DIVL.L #.W,(xxx).L */ +{ CPUFUNC(op_4c7a_0), 0, 19578 }, /* DIVL.L #.W,(d16,PC) */ +{ CPUFUNC(op_4c7b_0), 0, 19579 }, /* DIVL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_4c7c_0), 0, 19580 }, /* DIVL.L #.W,#.L */ +{ CPUFUNC_FF(op_4c90_0), 0, 19600 }, /* MVMEL.W #.W,(An) */ +{ CPUFUNC_FF(op_4c98_0), 0, 19608 }, /* MVMEL.W #.W,(An)+ */ +{ CPUFUNC_FF(op_4ca8_0), 0, 19624 }, /* MVMEL.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cb0_0), 0, 19632 }, /* MVMEL.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cb8_0), 0, 19640 }, /* MVMEL.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cb9_0), 0, 19641 }, /* MVMEL.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cba_0), 0, 19642 }, /* MVMEL.W #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cbb_0), 0, 19643 }, /* MVMEL.W #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4cd0_0), 0, 19664 }, /* MVMEL.L #.W,(An) */ +{ CPUFUNC_FF(op_4cd8_0), 0, 19672 }, /* MVMEL.L #.W,(An)+ */ +{ CPUFUNC_FF(op_4ce8_0), 0, 19688 }, /* MVMEL.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cf0_0), 0, 19696 }, /* MVMEL.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cf8_0), 0, 19704 }, /* MVMEL.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cf9_0), 0, 19705 }, /* MVMEL.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cfa_0), 0, 19706 }, /* MVMEL.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cfb_0), 0, 19707 }, /* MVMEL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4e40_0), 0, 20032 }, /* TRAP.L # */ +{ CPUFUNC_FF(op_4e50_0), 0, 20048 }, /* LINK.W An,#.W */ +{ CPUFUNC_FF(op_4e58_0), 0, 20056 }, /* UNLK.L An */ +{ CPUFUNC_FF(op_4e60_0), 0, 20064 }, /* MVR2USP.L An */ +{ CPUFUNC_FF(op_4e68_0), 0, 20072 }, /* MVUSP2R.L An */ +{ CPUFUNC_FF(op_4e70_0), 0, 20080 }, /* RESET.L */ +{ CPUFUNC_FF(op_4e71_0), 0, 20081 }, /* NOP.L */ +{ CPUFUNC(op_4e72_0), 0, 20082 }, /* STOP.L #.W */ +{ CPUFUNC(op_4e73_0), 0, 20083 }, /* RTE.L */ +{ CPUFUNC_FF(op_4e74_0), 0, 20084 }, /* RTD.L #.W */ +{ CPUFUNC_FF(op_4e75_0), 0, 20085 }, /* RTS.L */ +{ CPUFUNC_FF(op_4e76_0), 0, 20086 }, /* TRAPV.L */ +{ CPUFUNC(op_4e77_0), 0, 20087 }, /* RTR.L */ +{ CPUFUNC_FF(op_4e7a_0), 0, 20090 }, /* MOVEC2.L #.W */ +{ CPUFUNC_FF(op_4e7b_0), 0, 20091 }, /* MOVE2C.L #.W */ +{ CPUFUNC_FF(op_4e90_0), 0, 20112 }, /* JSR.L (An) */ +{ CPUFUNC_FF(op_4ea8_0), 0, 20136 }, /* JSR.L (d16,An) */ +{ CPUFUNC_FF(op_4eb0_0), 0, 20144 }, /* JSR.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4eb8_0), 0, 20152 }, /* JSR.L (xxx).W */ +{ CPUFUNC_FF(op_4eb9_0), 0, 20153 }, /* JSR.L (xxx).L */ +{ CPUFUNC_FF(op_4eba_0), 0, 20154 }, /* JSR.L (d16,PC) */ +{ CPUFUNC_FF(op_4ebb_0), 0, 20155 }, /* JSR.L (d8,PC,Xn) */ +{ CPUFUNC_FF(op_4ed0_0), 0, 20176 }, /* JMP.L (An) */ +{ CPUFUNC_FF(op_4ee8_0), 0, 20200 }, /* JMP.L (d16,An) */ +{ CPUFUNC_FF(op_4ef0_0), 0, 20208 }, /* JMP.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4ef8_0), 0, 20216 }, /* JMP.L (xxx).W */ +{ CPUFUNC_FF(op_4ef9_0), 0, 20217 }, /* JMP.L (xxx).L */ +{ CPUFUNC_FF(op_4efa_0), 0, 20218 }, /* JMP.L (d16,PC) */ +{ CPUFUNC_FF(op_4efb_0), 0, 20219 }, /* JMP.L (d8,PC,Xn) */ +{ CPUFUNC(op_5000_0), 0, 20480 }, /* ADD.B #,Dn */ +{ CPUFUNC(op_5010_0), 0, 20496 }, /* ADD.B #,(An) */ +{ CPUFUNC(op_5018_0), 0, 20504 }, /* ADD.B #,(An)+ */ +{ CPUFUNC(op_5020_0), 0, 20512 }, /* ADD.B #,-(An) */ +{ CPUFUNC(op_5028_0), 0, 20520 }, /* ADD.B #,(d16,An) */ +{ CPUFUNC(op_5030_0), 0, 20528 }, /* ADD.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5038_0), 0, 20536 }, /* ADD.B #,(xxx).W */ +{ CPUFUNC(op_5039_0), 0, 20537 }, /* ADD.B #,(xxx).L */ +{ CPUFUNC(op_5040_0), 0, 20544 }, /* ADD.W #,Dn */ +{ CPUFUNC_FF(op_5048_0), 0, 20552 }, /* ADDA.W #,An */ +{ CPUFUNC(op_5050_0), 0, 20560 }, /* ADD.W #,(An) */ +{ CPUFUNC(op_5058_0), 0, 20568 }, /* ADD.W #,(An)+ */ +{ CPUFUNC(op_5060_0), 0, 20576 }, /* ADD.W #,-(An) */ +{ CPUFUNC(op_5068_0), 0, 20584 }, /* ADD.W #,(d16,An) */ +{ CPUFUNC(op_5070_0), 0, 20592 }, /* ADD.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5078_0), 0, 20600 }, /* ADD.W #,(xxx).W */ +{ CPUFUNC(op_5079_0), 0, 20601 }, /* ADD.W #,(xxx).L */ +{ CPUFUNC(op_5080_0), 0, 20608 }, /* ADD.L #,Dn */ +{ CPUFUNC_FF(op_5088_0), 0, 20616 }, /* ADDA.L #,An */ +{ CPUFUNC(op_5090_0), 0, 20624 }, /* ADD.L #,(An) */ +{ CPUFUNC(op_5098_0), 0, 20632 }, /* ADD.L #,(An)+ */ +{ CPUFUNC(op_50a0_0), 0, 20640 }, /* ADD.L #,-(An) */ +{ CPUFUNC(op_50a8_0), 0, 20648 }, /* ADD.L #,(d16,An) */ +{ CPUFUNC(op_50b0_0), 0, 20656 }, /* ADD.L #,(d8,An,Xn) */ +{ CPUFUNC(op_50b8_0), 0, 20664 }, /* ADD.L #,(xxx).W */ +{ CPUFUNC(op_50b9_0), 0, 20665 }, /* ADD.L #,(xxx).L */ +{ CPUFUNC_FF(op_50c0_0), 0, 20672 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_50c8_0), 0, 20680 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_50d0_0), 0, 20688 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_50d8_0), 0, 20696 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_50e0_0), 0, 20704 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_50e8_0), 0, 20712 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_50f0_0), 0, 20720 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_50f8_0), 0, 20728 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_50f9_0), 0, 20729 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_50fa_0), 0, 20730 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_50fb_0), 0, 20731 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_50fc_0), 0, 20732 }, /* TRAPcc.L */ +{ CPUFUNC(op_5100_0), 0, 20736 }, /* SUB.B #,Dn */ +{ CPUFUNC(op_5110_0), 0, 20752 }, /* SUB.B #,(An) */ +{ CPUFUNC(op_5118_0), 0, 20760 }, /* SUB.B #,(An)+ */ +{ CPUFUNC(op_5120_0), 0, 20768 }, /* SUB.B #,-(An) */ +{ CPUFUNC(op_5128_0), 0, 20776 }, /* SUB.B #,(d16,An) */ +{ CPUFUNC(op_5130_0), 0, 20784 }, /* SUB.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5138_0), 0, 20792 }, /* SUB.B #,(xxx).W */ +{ CPUFUNC(op_5139_0), 0, 20793 }, /* SUB.B #,(xxx).L */ +{ CPUFUNC(op_5140_0), 0, 20800 }, /* SUB.W #,Dn */ +{ CPUFUNC_FF(op_5148_0), 0, 20808 }, /* SUBA.W #,An */ +{ CPUFUNC(op_5150_0), 0, 20816 }, /* SUB.W #,(An) */ +{ CPUFUNC(op_5158_0), 0, 20824 }, /* SUB.W #,(An)+ */ +{ CPUFUNC(op_5160_0), 0, 20832 }, /* SUB.W #,-(An) */ +{ CPUFUNC(op_5168_0), 0, 20840 }, /* SUB.W #,(d16,An) */ +{ CPUFUNC(op_5170_0), 0, 20848 }, /* SUB.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5178_0), 0, 20856 }, /* SUB.W #,(xxx).W */ +{ CPUFUNC(op_5179_0), 0, 20857 }, /* SUB.W #,(xxx).L */ +{ CPUFUNC(op_5180_0), 0, 20864 }, /* SUB.L #,Dn */ +{ CPUFUNC_FF(op_5188_0), 0, 20872 }, /* SUBA.L #,An */ +{ CPUFUNC(op_5190_0), 0, 20880 }, /* SUB.L #,(An) */ +{ CPUFUNC(op_5198_0), 0, 20888 }, /* SUB.L #,(An)+ */ +{ CPUFUNC(op_51a0_0), 0, 20896 }, /* SUB.L #,-(An) */ +{ CPUFUNC(op_51a8_0), 0, 20904 }, /* SUB.L #,(d16,An) */ +{ CPUFUNC(op_51b0_0), 0, 20912 }, /* SUB.L #,(d8,An,Xn) */ +{ CPUFUNC(op_51b8_0), 0, 20920 }, /* SUB.L #,(xxx).W */ +{ CPUFUNC(op_51b9_0), 0, 20921 }, /* SUB.L #,(xxx).L */ +{ CPUFUNC_FF(op_51c0_0), 0, 20928 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_51c8_0), 0, 20936 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_51d0_0), 0, 20944 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_51d8_0), 0, 20952 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_51e0_0), 0, 20960 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_51e8_0), 0, 20968 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_51f0_0), 0, 20976 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_51f8_0), 0, 20984 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_51f9_0), 0, 20985 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_51fa_0), 0, 20986 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_51fb_0), 0, 20987 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_51fc_0), 0, 20988 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_52c0_0), 0, 21184 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_52c8_0), 0, 21192 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_52d0_0), 0, 21200 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_52d8_0), 0, 21208 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_52e0_0), 0, 21216 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_52e8_0), 0, 21224 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_52f0_0), 0, 21232 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_52f8_0), 0, 21240 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_52f9_0), 0, 21241 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_52fa_0), 0, 21242 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_52fb_0), 0, 21243 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_52fc_0), 0, 21244 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_53c0_0), 0, 21440 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_53c8_0), 0, 21448 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_53d0_0), 0, 21456 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_53d8_0), 0, 21464 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_53e0_0), 0, 21472 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_53e8_0), 0, 21480 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_53f0_0), 0, 21488 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_53f8_0), 0, 21496 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_53f9_0), 0, 21497 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_53fa_0), 0, 21498 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_53fb_0), 0, 21499 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_53fc_0), 0, 21500 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_54c0_0), 0, 21696 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_54c8_0), 0, 21704 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_54d0_0), 0, 21712 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_54d8_0), 0, 21720 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_54e0_0), 0, 21728 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_54e8_0), 0, 21736 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_54f0_0), 0, 21744 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_54f8_0), 0, 21752 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_54f9_0), 0, 21753 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_54fa_0), 0, 21754 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_54fb_0), 0, 21755 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_54fc_0), 0, 21756 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_55c0_0), 0, 21952 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_55c8_0), 0, 21960 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_55d0_0), 0, 21968 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_55d8_0), 0, 21976 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_55e0_0), 0, 21984 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_55e8_0), 0, 21992 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_55f0_0), 0, 22000 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_55f8_0), 0, 22008 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_55f9_0), 0, 22009 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_55fa_0), 0, 22010 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_55fb_0), 0, 22011 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_55fc_0), 0, 22012 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_56c0_0), 0, 22208 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_56c8_0), 0, 22216 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_56d0_0), 0, 22224 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_56d8_0), 0, 22232 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_56e0_0), 0, 22240 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_56e8_0), 0, 22248 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_56f0_0), 0, 22256 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_56f8_0), 0, 22264 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_56f9_0), 0, 22265 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_56fa_0), 0, 22266 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_56fb_0), 0, 22267 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_56fc_0), 0, 22268 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_57c0_0), 0, 22464 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_57c8_0), 0, 22472 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_57d0_0), 0, 22480 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_57d8_0), 0, 22488 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_57e0_0), 0, 22496 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_57e8_0), 0, 22504 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_57f0_0), 0, 22512 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_57f8_0), 0, 22520 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_57f9_0), 0, 22521 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_57fa_0), 0, 22522 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_57fb_0), 0, 22523 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_57fc_0), 0, 22524 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_58c0_0), 0, 22720 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_58c8_0), 0, 22728 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_58d0_0), 0, 22736 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_58d8_0), 0, 22744 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_58e0_0), 0, 22752 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_58e8_0), 0, 22760 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_58f0_0), 0, 22768 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_58f8_0), 0, 22776 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_58f9_0), 0, 22777 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_58fa_0), 0, 22778 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_58fb_0), 0, 22779 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_58fc_0), 0, 22780 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_59c0_0), 0, 22976 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_59c8_0), 0, 22984 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_59d0_0), 0, 22992 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_59d8_0), 0, 23000 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_59e0_0), 0, 23008 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_59e8_0), 0, 23016 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_59f0_0), 0, 23024 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_59f8_0), 0, 23032 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_59f9_0), 0, 23033 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_59fa_0), 0, 23034 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_59fb_0), 0, 23035 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_59fc_0), 0, 23036 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5ac0_0), 0, 23232 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ac8_0), 0, 23240 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ad0_0), 0, 23248 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ad8_0), 0, 23256 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ae0_0), 0, 23264 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ae8_0), 0, 23272 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5af0_0), 0, 23280 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5af8_0), 0, 23288 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5af9_0), 0, 23289 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5afa_0), 0, 23290 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5afb_0), 0, 23291 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5afc_0), 0, 23292 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5bc0_0), 0, 23488 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5bc8_0), 0, 23496 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5bd0_0), 0, 23504 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5bd8_0), 0, 23512 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5be0_0), 0, 23520 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5be8_0), 0, 23528 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5bf0_0), 0, 23536 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5bf8_0), 0, 23544 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5bf9_0), 0, 23545 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5bfa_0), 0, 23546 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5bfb_0), 0, 23547 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5bfc_0), 0, 23548 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5cc0_0), 0, 23744 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5cc8_0), 0, 23752 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5cd0_0), 0, 23760 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5cd8_0), 0, 23768 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ce0_0), 0, 23776 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ce8_0), 0, 23784 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5cf0_0), 0, 23792 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5cf8_0), 0, 23800 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5cf9_0), 0, 23801 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5cfa_0), 0, 23802 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5cfb_0), 0, 23803 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5cfc_0), 0, 23804 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5dc0_0), 0, 24000 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5dc8_0), 0, 24008 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5dd0_0), 0, 24016 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5dd8_0), 0, 24024 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5de0_0), 0, 24032 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5de8_0), 0, 24040 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5df0_0), 0, 24048 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5df8_0), 0, 24056 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5df9_0), 0, 24057 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5dfa_0), 0, 24058 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5dfb_0), 0, 24059 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5dfc_0), 0, 24060 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5ec0_0), 0, 24256 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ec8_0), 0, 24264 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ed0_0), 0, 24272 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ed8_0), 0, 24280 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ee0_0), 0, 24288 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ee8_0), 0, 24296 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ef0_0), 0, 24304 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ef8_0), 0, 24312 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ef9_0), 0, 24313 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5efa_0), 0, 24314 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5efb_0), 0, 24315 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5efc_0), 0, 24316 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_5fc0_0), 0, 24512 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5fc8_0), 0, 24520 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5fd0_0), 0, 24528 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5fd8_0), 0, 24536 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5fe0_0), 0, 24544 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5fe8_0), 0, 24552 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ff0_0), 0, 24560 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ff8_0), 0, 24568 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ff9_0), 0, 24569 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ffa_0), 0, 24570 }, /* TRAPcc.L #.W */ +{ CPUFUNC_FF(op_5ffb_0), 0, 24571 }, /* TRAPcc.L #.L */ +{ CPUFUNC_FF(op_5ffc_0), 0, 24572 }, /* TRAPcc.L */ +{ CPUFUNC_FF(op_6000_0), 0, 24576 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6001_0), 0, 24577 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_60ff_0), 0, 24831 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6100_0), 0, 24832 }, /* BSR.W #.W */ +{ CPUFUNC_FF(op_6101_0), 0, 24833 }, /* BSR.B # */ +{ CPUFUNC_FF(op_61ff_0), 0, 25087 }, /* BSR.L #.L */ +{ CPUFUNC_FF(op_6200_0), 0, 25088 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6201_0), 0, 25089 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_62ff_0), 0, 25343 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6300_0), 0, 25344 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6301_0), 0, 25345 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_63ff_0), 0, 25599 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6400_0), 0, 25600 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6401_0), 0, 25601 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_64ff_0), 0, 25855 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6500_0), 0, 25856 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6501_0), 0, 25857 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_65ff_0), 0, 26111 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6600_0), 0, 26112 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6601_0), 0, 26113 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_66ff_0), 0, 26367 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6700_0), 0, 26368 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6701_0), 0, 26369 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_67ff_0), 0, 26623 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6800_0), 0, 26624 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6801_0), 0, 26625 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_68ff_0), 0, 26879 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6900_0), 0, 26880 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6901_0), 0, 26881 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_69ff_0), 0, 27135 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6a00_0), 0, 27136 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6a01_0), 0, 27137 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6aff_0), 0, 27391 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6b00_0), 0, 27392 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6b01_0), 0, 27393 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6bff_0), 0, 27647 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6c00_0), 0, 27648 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6c01_0), 0, 27649 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6cff_0), 0, 27903 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6d00_0), 0, 27904 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6d01_0), 0, 27905 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6dff_0), 0, 28159 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6e00_0), 0, 28160 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6e01_0), 0, 28161 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6eff_0), 0, 28415 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6f00_0), 0, 28416 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6f01_0), 0, 28417 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6fff_0), 0, 28671 }, /* Bcc.L #.L */ +{ CPUFUNC(op_7000_0), 0, 28672 }, /* MOVE.L #,Dn */ +{ CPUFUNC_FF(op_7100_0), 0, 28928 }, /* EMULOP_RETURN.L */ +{ CPUFUNC_FF(op_7101_0), 0, 28929 }, /* EMULOP.L # */ +{ CPUFUNC(op_8000_0), 0, 32768 }, /* OR.B Dn,Dn */ +{ CPUFUNC(op_8010_0), 0, 32784 }, /* OR.B (An),Dn */ +{ CPUFUNC(op_8018_0), 0, 32792 }, /* OR.B (An)+,Dn */ +{ CPUFUNC(op_8020_0), 0, 32800 }, /* OR.B -(An),Dn */ +{ CPUFUNC(op_8028_0), 0, 32808 }, /* OR.B (d16,An),Dn */ +{ CPUFUNC(op_8030_0), 0, 32816 }, /* OR.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_8038_0), 0, 32824 }, /* OR.B (xxx).W,Dn */ +{ CPUFUNC(op_8039_0), 0, 32825 }, /* OR.B (xxx).L,Dn */ +{ CPUFUNC(op_803a_0), 0, 32826 }, /* OR.B (d16,PC),Dn */ +{ CPUFUNC(op_803b_0), 0, 32827 }, /* OR.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_803c_0), 0, 32828 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_8040_0), 0, 32832 }, /* OR.W Dn,Dn */ +{ CPUFUNC(op_8050_0), 0, 32848 }, /* OR.W (An),Dn */ +{ CPUFUNC(op_8058_0), 0, 32856 }, /* OR.W (An)+,Dn */ +{ CPUFUNC(op_8060_0), 0, 32864 }, /* OR.W -(An),Dn */ +{ CPUFUNC(op_8068_0), 0, 32872 }, /* OR.W (d16,An),Dn */ +{ CPUFUNC(op_8070_0), 0, 32880 }, /* OR.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_8078_0), 0, 32888 }, /* OR.W (xxx).W,Dn */ +{ CPUFUNC(op_8079_0), 0, 32889 }, /* OR.W (xxx).L,Dn */ +{ CPUFUNC(op_807a_0), 0, 32890 }, /* OR.W (d16,PC),Dn */ +{ CPUFUNC(op_807b_0), 0, 32891 }, /* OR.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_807c_0), 0, 32892 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_8080_0), 0, 32896 }, /* OR.L Dn,Dn */ +{ CPUFUNC(op_8090_0), 0, 32912 }, /* OR.L (An),Dn */ +{ CPUFUNC(op_8098_0), 0, 32920 }, /* OR.L (An)+,Dn */ +{ CPUFUNC(op_80a0_0), 0, 32928 }, /* OR.L -(An),Dn */ +{ CPUFUNC(op_80a8_0), 0, 32936 }, /* OR.L (d16,An),Dn */ +{ CPUFUNC(op_80b0_0), 0, 32944 }, /* OR.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_80b8_0), 0, 32952 }, /* OR.L (xxx).W,Dn */ +{ CPUFUNC(op_80b9_0), 0, 32953 }, /* OR.L (xxx).L,Dn */ +{ CPUFUNC(op_80ba_0), 0, 32954 }, /* OR.L (d16,PC),Dn */ +{ CPUFUNC(op_80bb_0), 0, 32955 }, /* OR.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80bc_0), 0, 32956 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_80c0_0), 0, 32960 }, /* DIVU.W Dn,Dn */ +{ CPUFUNC(op_80d0_0), 0, 32976 }, /* DIVU.W (An),Dn */ +{ CPUFUNC(op_80d8_0), 0, 32984 }, /* DIVU.W (An)+,Dn */ +{ CPUFUNC(op_80e0_0), 0, 32992 }, /* DIVU.W -(An),Dn */ +{ CPUFUNC(op_80e8_0), 0, 33000 }, /* DIVU.W (d16,An),Dn */ +{ CPUFUNC(op_80f0_0), 0, 33008 }, /* DIVU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_80f8_0), 0, 33016 }, /* DIVU.W (xxx).W,Dn */ +{ CPUFUNC(op_80f9_0), 0, 33017 }, /* DIVU.W (xxx).L,Dn */ +{ CPUFUNC(op_80fa_0), 0, 33018 }, /* DIVU.W (d16,PC),Dn */ +{ CPUFUNC(op_80fb_0), 0, 33019 }, /* DIVU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80fc_0), 0, 33020 }, /* DIVU.W #.W,Dn */ +{ CPUFUNC(op_8100_1), 0, 33024 }, /* SBCD.B Dn,Dn */ +{ CPUFUNC(op_8108_1), 0, 33032 }, /* SBCD.B -(An),-(An) */ +{ CPUFUNC(op_8110_0), 0, 33040 }, /* OR.B Dn,(An) */ +{ CPUFUNC(op_8118_0), 0, 33048 }, /* OR.B Dn,(An)+ */ +{ CPUFUNC(op_8120_0), 0, 33056 }, /* OR.B Dn,-(An) */ +{ CPUFUNC(op_8128_0), 0, 33064 }, /* OR.B Dn,(d16,An) */ +{ CPUFUNC(op_8130_0), 0, 33072 }, /* OR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8138_0), 0, 33080 }, /* OR.B Dn,(xxx).W */ +{ CPUFUNC(op_8139_0), 0, 33081 }, /* OR.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_8140_0), 0, 33088 }, /* PACK.L Dn,Dn */ +{ CPUFUNC_FF(op_8148_0), 0, 33096 }, /* PACK.L -(An),-(An) */ +{ CPUFUNC(op_8150_0), 0, 33104 }, /* OR.W Dn,(An) */ +{ CPUFUNC(op_8158_0), 0, 33112 }, /* OR.W Dn,(An)+ */ +{ CPUFUNC(op_8160_0), 0, 33120 }, /* OR.W Dn,-(An) */ +{ CPUFUNC(op_8168_0), 0, 33128 }, /* OR.W Dn,(d16,An) */ +{ CPUFUNC(op_8170_0), 0, 33136 }, /* OR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8178_0), 0, 33144 }, /* OR.W Dn,(xxx).W */ +{ CPUFUNC(op_8179_0), 0, 33145 }, /* OR.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_8180_0), 0, 33152 }, /* UNPK.L Dn,Dn */ +{ CPUFUNC_FF(op_8188_0), 0, 33160 }, /* UNPK.L -(An),-(An) */ +{ CPUFUNC(op_8190_0), 0, 33168 }, /* OR.L Dn,(An) */ +{ CPUFUNC(op_8198_0), 0, 33176 }, /* OR.L Dn,(An)+ */ +{ CPUFUNC(op_81a0_0), 0, 33184 }, /* OR.L Dn,-(An) */ +{ CPUFUNC(op_81a8_0), 0, 33192 }, /* OR.L Dn,(d16,An) */ +{ CPUFUNC(op_81b0_0), 0, 33200 }, /* OR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_81b8_0), 0, 33208 }, /* OR.L Dn,(xxx).W */ +{ CPUFUNC(op_81b9_0), 0, 33209 }, /* OR.L Dn,(xxx).L */ +{ CPUFUNC(op_81c0_0), 0, 33216 }, /* DIVS.W Dn,Dn */ +{ CPUFUNC(op_81d0_0), 0, 33232 }, /* DIVS.W (An),Dn */ +{ CPUFUNC(op_81d8_0), 0, 33240 }, /* DIVS.W (An)+,Dn */ +{ CPUFUNC(op_81e0_0), 0, 33248 }, /* DIVS.W -(An),Dn */ +{ CPUFUNC(op_81e8_0), 0, 33256 }, /* DIVS.W (d16,An),Dn */ +{ CPUFUNC(op_81f0_0), 0, 33264 }, /* DIVS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_81f8_0), 0, 33272 }, /* DIVS.W (xxx).W,Dn */ +{ CPUFUNC(op_81f9_0), 0, 33273 }, /* DIVS.W (xxx).L,Dn */ +{ CPUFUNC(op_81fa_0), 0, 33274 }, /* DIVS.W (d16,PC),Dn */ +{ CPUFUNC(op_81fb_0), 0, 33275 }, /* DIVS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_81fc_0), 0, 33276 }, /* DIVS.W #.W,Dn */ +{ CPUFUNC(op_9000_0), 0, 36864 }, /* SUB.B Dn,Dn */ +{ CPUFUNC(op_9010_0), 0, 36880 }, /* SUB.B (An),Dn */ +{ CPUFUNC(op_9018_0), 0, 36888 }, /* SUB.B (An)+,Dn */ +{ CPUFUNC(op_9020_0), 0, 36896 }, /* SUB.B -(An),Dn */ +{ CPUFUNC(op_9028_0), 0, 36904 }, /* SUB.B (d16,An),Dn */ +{ CPUFUNC(op_9030_0), 0, 36912 }, /* SUB.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_9038_0), 0, 36920 }, /* SUB.B (xxx).W,Dn */ +{ CPUFUNC(op_9039_0), 0, 36921 }, /* SUB.B (xxx).L,Dn */ +{ CPUFUNC(op_903a_0), 0, 36922 }, /* SUB.B (d16,PC),Dn */ +{ CPUFUNC(op_903b_0), 0, 36923 }, /* SUB.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_903c_0), 0, 36924 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_9040_0), 0, 36928 }, /* SUB.W Dn,Dn */ +{ CPUFUNC(op_9048_0), 0, 36936 }, /* SUB.W An,Dn */ +{ CPUFUNC(op_9050_0), 0, 36944 }, /* SUB.W (An),Dn */ +{ CPUFUNC(op_9058_0), 0, 36952 }, /* SUB.W (An)+,Dn */ +{ CPUFUNC(op_9060_0), 0, 36960 }, /* SUB.W -(An),Dn */ +{ CPUFUNC(op_9068_0), 0, 36968 }, /* SUB.W (d16,An),Dn */ +{ CPUFUNC(op_9070_0), 0, 36976 }, /* SUB.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_9078_0), 0, 36984 }, /* SUB.W (xxx).W,Dn */ +{ CPUFUNC(op_9079_0), 0, 36985 }, /* SUB.W (xxx).L,Dn */ +{ CPUFUNC(op_907a_0), 0, 36986 }, /* SUB.W (d16,PC),Dn */ +{ CPUFUNC(op_907b_0), 0, 36987 }, /* SUB.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_907c_0), 0, 36988 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_9080_0), 0, 36992 }, /* SUB.L Dn,Dn */ +{ CPUFUNC(op_9088_0), 0, 37000 }, /* SUB.L An,Dn */ +{ CPUFUNC(op_9090_0), 0, 37008 }, /* SUB.L (An),Dn */ +{ CPUFUNC(op_9098_0), 0, 37016 }, /* SUB.L (An)+,Dn */ +{ CPUFUNC(op_90a0_0), 0, 37024 }, /* SUB.L -(An),Dn */ +{ CPUFUNC(op_90a8_0), 0, 37032 }, /* SUB.L (d16,An),Dn */ +{ CPUFUNC(op_90b0_0), 0, 37040 }, /* SUB.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_90b8_0), 0, 37048 }, /* SUB.L (xxx).W,Dn */ +{ CPUFUNC(op_90b9_0), 0, 37049 }, /* SUB.L (xxx).L,Dn */ +{ CPUFUNC(op_90ba_0), 0, 37050 }, /* SUB.L (d16,PC),Dn */ +{ CPUFUNC(op_90bb_0), 0, 37051 }, /* SUB.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_90bc_0), 0, 37052 }, /* SUB.L #.L,Dn */ +{ CPUFUNC_FF(op_90c0_0), 0, 37056 }, /* SUBA.W Dn,An */ +{ CPUFUNC_FF(op_90c8_0), 0, 37064 }, /* SUBA.W An,An */ +{ CPUFUNC_FF(op_90d0_0), 0, 37072 }, /* SUBA.W (An),An */ +{ CPUFUNC_FF(op_90d8_0), 0, 37080 }, /* SUBA.W (An)+,An */ +{ CPUFUNC_FF(op_90e0_0), 0, 37088 }, /* SUBA.W -(An),An */ +{ CPUFUNC_FF(op_90e8_0), 0, 37096 }, /* SUBA.W (d16,An),An */ +{ CPUFUNC_FF(op_90f0_0), 0, 37104 }, /* SUBA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_90f8_0), 0, 37112 }, /* SUBA.W (xxx).W,An */ +{ CPUFUNC_FF(op_90f9_0), 0, 37113 }, /* SUBA.W (xxx).L,An */ +{ CPUFUNC_FF(op_90fa_0), 0, 37114 }, /* SUBA.W (d16,PC),An */ +{ CPUFUNC_FF(op_90fb_0), 0, 37115 }, /* SUBA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_90fc_0), 0, 37116 }, /* SUBA.W #.W,An */ +{ CPUFUNC(op_9100_0), 0, 37120 }, /* SUBX.B Dn,Dn */ +{ CPUFUNC(op_9108_0), 0, 37128 }, /* SUBX.B -(An),-(An) */ +{ CPUFUNC(op_9110_0), 0, 37136 }, /* SUB.B Dn,(An) */ +{ CPUFUNC(op_9118_0), 0, 37144 }, /* SUB.B Dn,(An)+ */ +{ CPUFUNC(op_9120_0), 0, 37152 }, /* SUB.B Dn,-(An) */ +{ CPUFUNC(op_9128_0), 0, 37160 }, /* SUB.B Dn,(d16,An) */ +{ CPUFUNC(op_9130_0), 0, 37168 }, /* SUB.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9138_0), 0, 37176 }, /* SUB.B Dn,(xxx).W */ +{ CPUFUNC(op_9139_0), 0, 37177 }, /* SUB.B Dn,(xxx).L */ +{ CPUFUNC(op_9140_0), 0, 37184 }, /* SUBX.W Dn,Dn */ +{ CPUFUNC(op_9148_0), 0, 37192 }, /* SUBX.W -(An),-(An) */ +{ CPUFUNC(op_9150_0), 0, 37200 }, /* SUB.W Dn,(An) */ +{ CPUFUNC(op_9158_0), 0, 37208 }, /* SUB.W Dn,(An)+ */ +{ CPUFUNC(op_9160_0), 0, 37216 }, /* SUB.W Dn,-(An) */ +{ CPUFUNC(op_9168_0), 0, 37224 }, /* SUB.W Dn,(d16,An) */ +{ CPUFUNC(op_9170_0), 0, 37232 }, /* SUB.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9178_0), 0, 37240 }, /* SUB.W Dn,(xxx).W */ +{ CPUFUNC(op_9179_0), 0, 37241 }, /* SUB.W Dn,(xxx).L */ +{ CPUFUNC(op_9180_0), 0, 37248 }, /* SUBX.L Dn,Dn */ +{ CPUFUNC(op_9188_0), 0, 37256 }, /* SUBX.L -(An),-(An) */ +{ CPUFUNC(op_9190_0), 0, 37264 }, /* SUB.L Dn,(An) */ +{ CPUFUNC(op_9198_0), 0, 37272 }, /* SUB.L Dn,(An)+ */ +{ CPUFUNC(op_91a0_0), 0, 37280 }, /* SUB.L Dn,-(An) */ +{ CPUFUNC(op_91a8_0), 0, 37288 }, /* SUB.L Dn,(d16,An) */ +{ CPUFUNC(op_91b0_0), 0, 37296 }, /* SUB.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_91b8_0), 0, 37304 }, /* SUB.L Dn,(xxx).W */ +{ CPUFUNC(op_91b9_0), 0, 37305 }, /* SUB.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_91c0_0), 0, 37312 }, /* SUBA.L Dn,An */ +{ CPUFUNC_FF(op_91c8_0), 0, 37320 }, /* SUBA.L An,An */ +{ CPUFUNC_FF(op_91d0_0), 0, 37328 }, /* SUBA.L (An),An */ +{ CPUFUNC_FF(op_91d8_0), 0, 37336 }, /* SUBA.L (An)+,An */ +{ CPUFUNC_FF(op_91e0_0), 0, 37344 }, /* SUBA.L -(An),An */ +{ CPUFUNC_FF(op_91e8_0), 0, 37352 }, /* SUBA.L (d16,An),An */ +{ CPUFUNC_FF(op_91f0_0), 0, 37360 }, /* SUBA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_91f8_0), 0, 37368 }, /* SUBA.L (xxx).W,An */ +{ CPUFUNC_FF(op_91f9_0), 0, 37369 }, /* SUBA.L (xxx).L,An */ +{ CPUFUNC_FF(op_91fa_0), 0, 37370 }, /* SUBA.L (d16,PC),An */ +{ CPUFUNC_FF(op_91fb_0), 0, 37371 }, /* SUBA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_91fc_0), 0, 37372 }, /* SUBA.L #.L,An */ +{ CPUFUNC(op_b000_0), 0, 45056 }, /* CMP.B Dn,Dn */ +{ CPUFUNC(op_b010_0), 0, 45072 }, /* CMP.B (An),Dn */ +{ CPUFUNC(op_b018_0), 0, 45080 }, /* CMP.B (An)+,Dn */ +{ CPUFUNC(op_b020_0), 0, 45088 }, /* CMP.B -(An),Dn */ +{ CPUFUNC(op_b028_0), 0, 45096 }, /* CMP.B (d16,An),Dn */ +{ CPUFUNC(op_b030_0), 0, 45104 }, /* CMP.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_b038_0), 0, 45112 }, /* CMP.B (xxx).W,Dn */ +{ CPUFUNC(op_b039_0), 0, 45113 }, /* CMP.B (xxx).L,Dn */ +{ CPUFUNC(op_b03a_0), 0, 45114 }, /* CMP.B (d16,PC),Dn */ +{ CPUFUNC(op_b03b_0), 0, 45115 }, /* CMP.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b03c_0), 0, 45116 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_b040_0), 0, 45120 }, /* CMP.W Dn,Dn */ +{ CPUFUNC(op_b048_0), 0, 45128 }, /* CMP.W An,Dn */ +{ CPUFUNC(op_b050_0), 0, 45136 }, /* CMP.W (An),Dn */ +{ CPUFUNC(op_b058_0), 0, 45144 }, /* CMP.W (An)+,Dn */ +{ CPUFUNC(op_b060_0), 0, 45152 }, /* CMP.W -(An),Dn */ +{ CPUFUNC(op_b068_0), 0, 45160 }, /* CMP.W (d16,An),Dn */ +{ CPUFUNC(op_b070_0), 0, 45168 }, /* CMP.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_b078_0), 0, 45176 }, /* CMP.W (xxx).W,Dn */ +{ CPUFUNC(op_b079_0), 0, 45177 }, /* CMP.W (xxx).L,Dn */ +{ CPUFUNC(op_b07a_0), 0, 45178 }, /* CMP.W (d16,PC),Dn */ +{ CPUFUNC(op_b07b_0), 0, 45179 }, /* CMP.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b07c_0), 0, 45180 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_b080_0), 0, 45184 }, /* CMP.L Dn,Dn */ +{ CPUFUNC(op_b088_0), 0, 45192 }, /* CMP.L An,Dn */ +{ CPUFUNC(op_b090_0), 0, 45200 }, /* CMP.L (An),Dn */ +{ CPUFUNC(op_b098_0), 0, 45208 }, /* CMP.L (An)+,Dn */ +{ CPUFUNC(op_b0a0_0), 0, 45216 }, /* CMP.L -(An),Dn */ +{ CPUFUNC(op_b0a8_0), 0, 45224 }, /* CMP.L (d16,An),Dn */ +{ CPUFUNC(op_b0b0_0), 0, 45232 }, /* CMP.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_b0b8_0), 0, 45240 }, /* CMP.L (xxx).W,Dn */ +{ CPUFUNC(op_b0b9_0), 0, 45241 }, /* CMP.L (xxx).L,Dn */ +{ CPUFUNC(op_b0ba_0), 0, 45242 }, /* CMP.L (d16,PC),Dn */ +{ CPUFUNC(op_b0bb_0), 0, 45243 }, /* CMP.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b0bc_0), 0, 45244 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_b0c0_0), 0, 45248 }, /* CMPA.W Dn,An */ +{ CPUFUNC(op_b0c8_0), 0, 45256 }, /* CMPA.W An,An */ +{ CPUFUNC(op_b0d0_0), 0, 45264 }, /* CMPA.W (An),An */ +{ CPUFUNC(op_b0d8_0), 0, 45272 }, /* CMPA.W (An)+,An */ +{ CPUFUNC(op_b0e0_0), 0, 45280 }, /* CMPA.W -(An),An */ +{ CPUFUNC(op_b0e8_0), 0, 45288 }, /* CMPA.W (d16,An),An */ +{ CPUFUNC(op_b0f0_0), 0, 45296 }, /* CMPA.W (d8,An,Xn),An */ +{ CPUFUNC(op_b0f8_0), 0, 45304 }, /* CMPA.W (xxx).W,An */ +{ CPUFUNC(op_b0f9_0), 0, 45305 }, /* CMPA.W (xxx).L,An */ +{ CPUFUNC(op_b0fa_0), 0, 45306 }, /* CMPA.W (d16,PC),An */ +{ CPUFUNC(op_b0fb_0), 0, 45307 }, /* CMPA.W (d8,PC,Xn),An */ +{ CPUFUNC(op_b0fc_0), 0, 45308 }, /* CMPA.W #.W,An */ +{ CPUFUNC(op_b100_0), 0, 45312 }, /* EOR.B Dn,Dn */ +{ CPUFUNC(op_b108_0), 0, 45320 }, /* CMPM.B (An)+,(An)+ */ +{ CPUFUNC(op_b110_0), 0, 45328 }, /* EOR.B Dn,(An) */ +{ CPUFUNC(op_b118_0), 0, 45336 }, /* EOR.B Dn,(An)+ */ +{ CPUFUNC(op_b120_0), 0, 45344 }, /* EOR.B Dn,-(An) */ +{ CPUFUNC(op_b128_0), 0, 45352 }, /* EOR.B Dn,(d16,An) */ +{ CPUFUNC(op_b130_0), 0, 45360 }, /* EOR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b138_0), 0, 45368 }, /* EOR.B Dn,(xxx).W */ +{ CPUFUNC(op_b139_0), 0, 45369 }, /* EOR.B Dn,(xxx).L */ +{ CPUFUNC(op_b140_0), 0, 45376 }, /* EOR.W Dn,Dn */ +{ CPUFUNC(op_b148_0), 0, 45384 }, /* CMPM.W (An)+,(An)+ */ +{ CPUFUNC(op_b150_0), 0, 45392 }, /* EOR.W Dn,(An) */ +{ CPUFUNC(op_b158_0), 0, 45400 }, /* EOR.W Dn,(An)+ */ +{ CPUFUNC(op_b160_0), 0, 45408 }, /* EOR.W Dn,-(An) */ +{ CPUFUNC(op_b168_0), 0, 45416 }, /* EOR.W Dn,(d16,An) */ +{ CPUFUNC(op_b170_0), 0, 45424 }, /* EOR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b178_0), 0, 45432 }, /* EOR.W Dn,(xxx).W */ +{ CPUFUNC(op_b179_0), 0, 45433 }, /* EOR.W Dn,(xxx).L */ +{ CPUFUNC(op_b180_0), 0, 45440 }, /* EOR.L Dn,Dn */ +{ CPUFUNC(op_b188_0), 0, 45448 }, /* CMPM.L (An)+,(An)+ */ +{ CPUFUNC(op_b190_0), 0, 45456 }, /* EOR.L Dn,(An) */ +{ CPUFUNC(op_b198_0), 0, 45464 }, /* EOR.L Dn,(An)+ */ +{ CPUFUNC(op_b1a0_0), 0, 45472 }, /* EOR.L Dn,-(An) */ +{ CPUFUNC(op_b1a8_0), 0, 45480 }, /* EOR.L Dn,(d16,An) */ +{ CPUFUNC(op_b1b0_0), 0, 45488 }, /* EOR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b1b8_0), 0, 45496 }, /* EOR.L Dn,(xxx).W */ +{ CPUFUNC(op_b1b9_0), 0, 45497 }, /* EOR.L Dn,(xxx).L */ +{ CPUFUNC(op_b1c0_0), 0, 45504 }, /* CMPA.L Dn,An */ +{ CPUFUNC(op_b1c8_0), 0, 45512 }, /* CMPA.L An,An */ +{ CPUFUNC(op_b1d0_0), 0, 45520 }, /* CMPA.L (An),An */ +{ CPUFUNC(op_b1d8_0), 0, 45528 }, /* CMPA.L (An)+,An */ +{ CPUFUNC(op_b1e0_0), 0, 45536 }, /* CMPA.L -(An),An */ +{ CPUFUNC(op_b1e8_0), 0, 45544 }, /* CMPA.L (d16,An),An */ +{ CPUFUNC(op_b1f0_0), 0, 45552 }, /* CMPA.L (d8,An,Xn),An */ +{ CPUFUNC(op_b1f8_0), 0, 45560 }, /* CMPA.L (xxx).W,An */ +{ CPUFUNC(op_b1f9_0), 0, 45561 }, /* CMPA.L (xxx).L,An */ +{ CPUFUNC(op_b1fa_0), 0, 45562 }, /* CMPA.L (d16,PC),An */ +{ CPUFUNC(op_b1fb_0), 0, 45563 }, /* CMPA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_b1fc_0), 0, 45564 }, /* CMPA.L #.L,An */ +{ CPUFUNC(op_c000_0), 0, 49152 }, /* AND.B Dn,Dn */ +{ CPUFUNC(op_c010_0), 0, 49168 }, /* AND.B (An),Dn */ +{ CPUFUNC(op_c018_0), 0, 49176 }, /* AND.B (An)+,Dn */ +{ CPUFUNC(op_c020_0), 0, 49184 }, /* AND.B -(An),Dn */ +{ CPUFUNC(op_c028_0), 0, 49192 }, /* AND.B (d16,An),Dn */ +{ CPUFUNC(op_c030_0), 0, 49200 }, /* AND.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_c038_0), 0, 49208 }, /* AND.B (xxx).W,Dn */ +{ CPUFUNC(op_c039_0), 0, 49209 }, /* AND.B (xxx).L,Dn */ +{ CPUFUNC(op_c03a_0), 0, 49210 }, /* AND.B (d16,PC),Dn */ +{ CPUFUNC(op_c03b_0), 0, 49211 }, /* AND.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c03c_0), 0, 49212 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_c040_0), 0, 49216 }, /* AND.W Dn,Dn */ +{ CPUFUNC(op_c050_0), 0, 49232 }, /* AND.W (An),Dn */ +{ CPUFUNC(op_c058_0), 0, 49240 }, /* AND.W (An)+,Dn */ +{ CPUFUNC(op_c060_0), 0, 49248 }, /* AND.W -(An),Dn */ +{ CPUFUNC(op_c068_0), 0, 49256 }, /* AND.W (d16,An),Dn */ +{ CPUFUNC(op_c070_0), 0, 49264 }, /* AND.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c078_0), 0, 49272 }, /* AND.W (xxx).W,Dn */ +{ CPUFUNC(op_c079_0), 0, 49273 }, /* AND.W (xxx).L,Dn */ +{ CPUFUNC(op_c07a_0), 0, 49274 }, /* AND.W (d16,PC),Dn */ +{ CPUFUNC(op_c07b_0), 0, 49275 }, /* AND.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c07c_0), 0, 49276 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_c080_0), 0, 49280 }, /* AND.L Dn,Dn */ +{ CPUFUNC(op_c090_0), 0, 49296 }, /* AND.L (An),Dn */ +{ CPUFUNC(op_c098_0), 0, 49304 }, /* AND.L (An)+,Dn */ +{ CPUFUNC(op_c0a0_0), 0, 49312 }, /* AND.L -(An),Dn */ +{ CPUFUNC(op_c0a8_0), 0, 49320 }, /* AND.L (d16,An),Dn */ +{ CPUFUNC(op_c0b0_0), 0, 49328 }, /* AND.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0b8_0), 0, 49336 }, /* AND.L (xxx).W,Dn */ +{ CPUFUNC(op_c0b9_0), 0, 49337 }, /* AND.L (xxx).L,Dn */ +{ CPUFUNC(op_c0ba_0), 0, 49338 }, /* AND.L (d16,PC),Dn */ +{ CPUFUNC(op_c0bb_0), 0, 49339 }, /* AND.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0bc_0), 0, 49340 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_c0c0_0), 0, 49344 }, /* MULU.W Dn,Dn */ +{ CPUFUNC(op_c0d0_0), 0, 49360 }, /* MULU.W (An),Dn */ +{ CPUFUNC(op_c0d8_0), 0, 49368 }, /* MULU.W (An)+,Dn */ +{ CPUFUNC(op_c0e0_0), 0, 49376 }, /* MULU.W -(An),Dn */ +{ CPUFUNC(op_c0e8_0), 0, 49384 }, /* MULU.W (d16,An),Dn */ +{ CPUFUNC(op_c0f0_0), 0, 49392 }, /* MULU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0f8_0), 0, 49400 }, /* MULU.W (xxx).W,Dn */ +{ CPUFUNC(op_c0f9_0), 0, 49401 }, /* MULU.W (xxx).L,Dn */ +{ CPUFUNC(op_c0fa_0), 0, 49402 }, /* MULU.W (d16,PC),Dn */ +{ CPUFUNC(op_c0fb_0), 0, 49403 }, /* MULU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0fc_0), 0, 49404 }, /* MULU.W #.W,Dn */ +{ CPUFUNC(op_c100_1), 0, 49408 }, /* ABCD.B Dn,Dn */ +{ CPUFUNC(op_c108_1), 0, 49416 }, /* ABCD.B -(An),-(An) */ +{ CPUFUNC(op_c110_0), 0, 49424 }, /* AND.B Dn,(An) */ +{ CPUFUNC(op_c118_0), 0, 49432 }, /* AND.B Dn,(An)+ */ +{ CPUFUNC(op_c120_0), 0, 49440 }, /* AND.B Dn,-(An) */ +{ CPUFUNC(op_c128_0), 0, 49448 }, /* AND.B Dn,(d16,An) */ +{ CPUFUNC(op_c130_0), 0, 49456 }, /* AND.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c138_0), 0, 49464 }, /* AND.B Dn,(xxx).W */ +{ CPUFUNC(op_c139_0), 0, 49465 }, /* AND.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_c140_0), 0, 49472 }, /* EXG.L Dn,Dn */ +{ CPUFUNC_FF(op_c148_0), 0, 49480 }, /* EXG.L An,An */ +{ CPUFUNC(op_c150_0), 0, 49488 }, /* AND.W Dn,(An) */ +{ CPUFUNC(op_c158_0), 0, 49496 }, /* AND.W Dn,(An)+ */ +{ CPUFUNC(op_c160_0), 0, 49504 }, /* AND.W Dn,-(An) */ +{ CPUFUNC(op_c168_0), 0, 49512 }, /* AND.W Dn,(d16,An) */ +{ CPUFUNC(op_c170_0), 0, 49520 }, /* AND.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c178_0), 0, 49528 }, /* AND.W Dn,(xxx).W */ +{ CPUFUNC(op_c179_0), 0, 49529 }, /* AND.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_c188_0), 0, 49544 }, /* EXG.L Dn,An */ +{ CPUFUNC(op_c190_0), 0, 49552 }, /* AND.L Dn,(An) */ +{ CPUFUNC(op_c198_0), 0, 49560 }, /* AND.L Dn,(An)+ */ +{ CPUFUNC(op_c1a0_0), 0, 49568 }, /* AND.L Dn,-(An) */ +{ CPUFUNC(op_c1a8_0), 0, 49576 }, /* AND.L Dn,(d16,An) */ +{ CPUFUNC(op_c1b0_0), 0, 49584 }, /* AND.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c1b8_0), 0, 49592 }, /* AND.L Dn,(xxx).W */ +{ CPUFUNC(op_c1b9_0), 0, 49593 }, /* AND.L Dn,(xxx).L */ +{ CPUFUNC(op_c1c0_0), 0, 49600 }, /* MULS.W Dn,Dn */ +{ CPUFUNC(op_c1d0_0), 0, 49616 }, /* MULS.W (An),Dn */ +{ CPUFUNC(op_c1d8_0), 0, 49624 }, /* MULS.W (An)+,Dn */ +{ CPUFUNC(op_c1e0_0), 0, 49632 }, /* MULS.W -(An),Dn */ +{ CPUFUNC(op_c1e8_0), 0, 49640 }, /* MULS.W (d16,An),Dn */ +{ CPUFUNC(op_c1f0_0), 0, 49648 }, /* MULS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c1f8_0), 0, 49656 }, /* MULS.W (xxx).W,Dn */ +{ CPUFUNC(op_c1f9_0), 0, 49657 }, /* MULS.W (xxx).L,Dn */ +{ CPUFUNC(op_c1fa_0), 0, 49658 }, /* MULS.W (d16,PC),Dn */ +{ CPUFUNC(op_c1fb_0), 0, 49659 }, /* MULS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c1fc_0), 0, 49660 }, /* MULS.W #.W,Dn */ +{ CPUFUNC(op_d000_0), 0, 53248 }, /* ADD.B Dn,Dn */ +{ CPUFUNC(op_d010_0), 0, 53264 }, /* ADD.B (An),Dn */ +{ CPUFUNC(op_d018_0), 0, 53272 }, /* ADD.B (An)+,Dn */ +{ CPUFUNC(op_d020_0), 0, 53280 }, /* ADD.B -(An),Dn */ +{ CPUFUNC(op_d028_0), 0, 53288 }, /* ADD.B (d16,An),Dn */ +{ CPUFUNC(op_d030_0), 0, 53296 }, /* ADD.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_d038_0), 0, 53304 }, /* ADD.B (xxx).W,Dn */ +{ CPUFUNC(op_d039_0), 0, 53305 }, /* ADD.B (xxx).L,Dn */ +{ CPUFUNC(op_d03a_0), 0, 53306 }, /* ADD.B (d16,PC),Dn */ +{ CPUFUNC(op_d03b_0), 0, 53307 }, /* ADD.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d03c_0), 0, 53308 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_d040_0), 0, 53312 }, /* ADD.W Dn,Dn */ +{ CPUFUNC(op_d048_0), 0, 53320 }, /* ADD.W An,Dn */ +{ CPUFUNC(op_d050_0), 0, 53328 }, /* ADD.W (An),Dn */ +{ CPUFUNC(op_d058_0), 0, 53336 }, /* ADD.W (An)+,Dn */ +{ CPUFUNC(op_d060_0), 0, 53344 }, /* ADD.W -(An),Dn */ +{ CPUFUNC(op_d068_0), 0, 53352 }, /* ADD.W (d16,An),Dn */ +{ CPUFUNC(op_d070_0), 0, 53360 }, /* ADD.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_d078_0), 0, 53368 }, /* ADD.W (xxx).W,Dn */ +{ CPUFUNC(op_d079_0), 0, 53369 }, /* ADD.W (xxx).L,Dn */ +{ CPUFUNC(op_d07a_0), 0, 53370 }, /* ADD.W (d16,PC),Dn */ +{ CPUFUNC(op_d07b_0), 0, 53371 }, /* ADD.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d07c_0), 0, 53372 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_d080_0), 0, 53376 }, /* ADD.L Dn,Dn */ +{ CPUFUNC(op_d088_0), 0, 53384 }, /* ADD.L An,Dn */ +{ CPUFUNC(op_d090_0), 0, 53392 }, /* ADD.L (An),Dn */ +{ CPUFUNC(op_d098_0), 0, 53400 }, /* ADD.L (An)+,Dn */ +{ CPUFUNC(op_d0a0_0), 0, 53408 }, /* ADD.L -(An),Dn */ +{ CPUFUNC(op_d0a8_0), 0, 53416 }, /* ADD.L (d16,An),Dn */ +{ CPUFUNC(op_d0b0_0), 0, 53424 }, /* ADD.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_d0b8_0), 0, 53432 }, /* ADD.L (xxx).W,Dn */ +{ CPUFUNC(op_d0b9_0), 0, 53433 }, /* ADD.L (xxx).L,Dn */ +{ CPUFUNC(op_d0ba_0), 0, 53434 }, /* ADD.L (d16,PC),Dn */ +{ CPUFUNC(op_d0bb_0), 0, 53435 }, /* ADD.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d0bc_0), 0, 53436 }, /* ADD.L #.L,Dn */ +{ CPUFUNC_FF(op_d0c0_0), 0, 53440 }, /* ADDA.W Dn,An */ +{ CPUFUNC_FF(op_d0c8_0), 0, 53448 }, /* ADDA.W An,An */ +{ CPUFUNC_FF(op_d0d0_0), 0, 53456 }, /* ADDA.W (An),An */ +{ CPUFUNC_FF(op_d0d8_0), 0, 53464 }, /* ADDA.W (An)+,An */ +{ CPUFUNC_FF(op_d0e0_0), 0, 53472 }, /* ADDA.W -(An),An */ +{ CPUFUNC_FF(op_d0e8_0), 0, 53480 }, /* ADDA.W (d16,An),An */ +{ CPUFUNC_FF(op_d0f0_0), 0, 53488 }, /* ADDA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d0f8_0), 0, 53496 }, /* ADDA.W (xxx).W,An */ +{ CPUFUNC_FF(op_d0f9_0), 0, 53497 }, /* ADDA.W (xxx).L,An */ +{ CPUFUNC_FF(op_d0fa_0), 0, 53498 }, /* ADDA.W (d16,PC),An */ +{ CPUFUNC_FF(op_d0fb_0), 0, 53499 }, /* ADDA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d0fc_0), 0, 53500 }, /* ADDA.W #.W,An */ +{ CPUFUNC(op_d100_0), 0, 53504 }, /* ADDX.B Dn,Dn */ +{ CPUFUNC(op_d108_0), 0, 53512 }, /* ADDX.B -(An),-(An) */ +{ CPUFUNC(op_d110_0), 0, 53520 }, /* ADD.B Dn,(An) */ +{ CPUFUNC(op_d118_0), 0, 53528 }, /* ADD.B Dn,(An)+ */ +{ CPUFUNC(op_d120_0), 0, 53536 }, /* ADD.B Dn,-(An) */ +{ CPUFUNC(op_d128_0), 0, 53544 }, /* ADD.B Dn,(d16,An) */ +{ CPUFUNC(op_d130_0), 0, 53552 }, /* ADD.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d138_0), 0, 53560 }, /* ADD.B Dn,(xxx).W */ +{ CPUFUNC(op_d139_0), 0, 53561 }, /* ADD.B Dn,(xxx).L */ +{ CPUFUNC(op_d140_0), 0, 53568 }, /* ADDX.W Dn,Dn */ +{ CPUFUNC(op_d148_0), 0, 53576 }, /* ADDX.W -(An),-(An) */ +{ CPUFUNC(op_d150_0), 0, 53584 }, /* ADD.W Dn,(An) */ +{ CPUFUNC(op_d158_0), 0, 53592 }, /* ADD.W Dn,(An)+ */ +{ CPUFUNC(op_d160_0), 0, 53600 }, /* ADD.W Dn,-(An) */ +{ CPUFUNC(op_d168_0), 0, 53608 }, /* ADD.W Dn,(d16,An) */ +{ CPUFUNC(op_d170_0), 0, 53616 }, /* ADD.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d178_0), 0, 53624 }, /* ADD.W Dn,(xxx).W */ +{ CPUFUNC(op_d179_0), 0, 53625 }, /* ADD.W Dn,(xxx).L */ +{ CPUFUNC(op_d180_0), 0, 53632 }, /* ADDX.L Dn,Dn */ +{ CPUFUNC(op_d188_0), 0, 53640 }, /* ADDX.L -(An),-(An) */ +{ CPUFUNC(op_d190_0), 0, 53648 }, /* ADD.L Dn,(An) */ +{ CPUFUNC(op_d198_0), 0, 53656 }, /* ADD.L Dn,(An)+ */ +{ CPUFUNC(op_d1a0_0), 0, 53664 }, /* ADD.L Dn,-(An) */ +{ CPUFUNC(op_d1a8_0), 0, 53672 }, /* ADD.L Dn,(d16,An) */ +{ CPUFUNC(op_d1b0_0), 0, 53680 }, /* ADD.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d1b8_0), 0, 53688 }, /* ADD.L Dn,(xxx).W */ +{ CPUFUNC(op_d1b9_0), 0, 53689 }, /* ADD.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_d1c0_0), 0, 53696 }, /* ADDA.L Dn,An */ +{ CPUFUNC_FF(op_d1c8_0), 0, 53704 }, /* ADDA.L An,An */ +{ CPUFUNC_FF(op_d1d0_0), 0, 53712 }, /* ADDA.L (An),An */ +{ CPUFUNC_FF(op_d1d8_0), 0, 53720 }, /* ADDA.L (An)+,An */ +{ CPUFUNC_FF(op_d1e0_0), 0, 53728 }, /* ADDA.L -(An),An */ +{ CPUFUNC_FF(op_d1e8_0), 0, 53736 }, /* ADDA.L (d16,An),An */ +{ CPUFUNC_FF(op_d1f0_0), 0, 53744 }, /* ADDA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d1f8_0), 0, 53752 }, /* ADDA.L (xxx).W,An */ +{ CPUFUNC_FF(op_d1f9_0), 0, 53753 }, /* ADDA.L (xxx).L,An */ +{ CPUFUNC_FF(op_d1fa_0), 0, 53754 }, /* ADDA.L (d16,PC),An */ +{ CPUFUNC_FF(op_d1fb_0), 0, 53755 }, /* ADDA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d1fc_0), 0, 53756 }, /* ADDA.L #.L,An */ +{ CPUFUNC(op_e000_0), 0, 57344 }, /* ASR.B #,Dn */ +{ CPUFUNC(op_e008_0), 0, 57352 }, /* LSR.B #,Dn */ +{ CPUFUNC(op_e010_0), 0, 57360 }, /* ROXR.B #,Dn */ +{ CPUFUNC(op_e018_0), 0, 57368 }, /* ROR.B #,Dn */ +{ CPUFUNC(op_e020_0), 0, 57376 }, /* ASR.B Dn,Dn */ +{ CPUFUNC(op_e028_0), 0, 57384 }, /* LSR.B Dn,Dn */ +{ CPUFUNC(op_e030_0), 0, 57392 }, /* ROXR.B Dn,Dn */ +{ CPUFUNC(op_e038_0), 0, 57400 }, /* ROR.B Dn,Dn */ +{ CPUFUNC(op_e040_0), 0, 57408 }, /* ASR.W #,Dn */ +{ CPUFUNC(op_e048_0), 0, 57416 }, /* LSR.W #,Dn */ +{ CPUFUNC(op_e050_0), 0, 57424 }, /* ROXR.W #,Dn */ +{ CPUFUNC(op_e058_0), 0, 57432 }, /* ROR.W #,Dn */ +{ CPUFUNC(op_e060_0), 0, 57440 }, /* ASR.W Dn,Dn */ +{ CPUFUNC(op_e068_0), 0, 57448 }, /* LSR.W Dn,Dn */ +{ CPUFUNC(op_e070_0), 0, 57456 }, /* ROXR.W Dn,Dn */ +{ CPUFUNC(op_e078_0), 0, 57464 }, /* ROR.W Dn,Dn */ +{ CPUFUNC(op_e080_0), 0, 57472 }, /* ASR.L #,Dn */ +{ CPUFUNC(op_e088_0), 0, 57480 }, /* LSR.L #,Dn */ +{ CPUFUNC(op_e090_0), 0, 57488 }, /* ROXR.L #,Dn */ +{ CPUFUNC(op_e098_0), 0, 57496 }, /* ROR.L #,Dn */ +{ CPUFUNC(op_e0a0_0), 0, 57504 }, /* ASR.L Dn,Dn */ +{ CPUFUNC(op_e0a8_0), 0, 57512 }, /* LSR.L Dn,Dn */ +{ CPUFUNC(op_e0b0_0), 0, 57520 }, /* ROXR.L Dn,Dn */ +{ CPUFUNC(op_e0b8_0), 0, 57528 }, /* ROR.L Dn,Dn */ +{ CPUFUNC(op_e0d0_0), 0, 57552 }, /* ASRW.W (An) */ +{ CPUFUNC(op_e0d8_0), 0, 57560 }, /* ASRW.W (An)+ */ +{ CPUFUNC(op_e0e0_0), 0, 57568 }, /* ASRW.W -(An) */ +{ CPUFUNC(op_e0e8_0), 0, 57576 }, /* ASRW.W (d16,An) */ +{ CPUFUNC(op_e0f0_0), 0, 57584 }, /* ASRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e0f8_0), 0, 57592 }, /* ASRW.W (xxx).W */ +{ CPUFUNC(op_e0f9_0), 0, 57593 }, /* ASRW.W (xxx).L */ +{ CPUFUNC(op_e100_0), 0, 57600 }, /* ASL.B #,Dn */ +{ CPUFUNC(op_e108_0), 0, 57608 }, /* LSL.B #,Dn */ +{ CPUFUNC(op_e110_0), 0, 57616 }, /* ROXL.B #,Dn */ +{ CPUFUNC(op_e118_0), 0, 57624 }, /* ROL.B #,Dn */ +{ CPUFUNC(op_e120_0), 0, 57632 }, /* ASL.B Dn,Dn */ +{ CPUFUNC(op_e128_0), 0, 57640 }, /* LSL.B Dn,Dn */ +{ CPUFUNC(op_e130_0), 0, 57648 }, /* ROXL.B Dn,Dn */ +{ CPUFUNC(op_e138_0), 0, 57656 }, /* ROL.B Dn,Dn */ +{ CPUFUNC(op_e140_0), 0, 57664 }, /* ASL.W #,Dn */ +{ CPUFUNC(op_e148_0), 0, 57672 }, /* LSL.W #,Dn */ +{ CPUFUNC(op_e150_0), 0, 57680 }, /* ROXL.W #,Dn */ +{ CPUFUNC(op_e158_0), 0, 57688 }, /* ROL.W #,Dn */ +{ CPUFUNC(op_e160_0), 0, 57696 }, /* ASL.W Dn,Dn */ +{ CPUFUNC(op_e168_0), 0, 57704 }, /* LSL.W Dn,Dn */ +{ CPUFUNC(op_e170_0), 0, 57712 }, /* ROXL.W Dn,Dn */ +{ CPUFUNC(op_e178_0), 0, 57720 }, /* ROL.W Dn,Dn */ +{ CPUFUNC(op_e180_0), 0, 57728 }, /* ASL.L #,Dn */ +{ CPUFUNC(op_e188_0), 0, 57736 }, /* LSL.L #,Dn */ +{ CPUFUNC(op_e190_0), 0, 57744 }, /* ROXL.L #,Dn */ +{ CPUFUNC(op_e198_0), 0, 57752 }, /* ROL.L #,Dn */ +{ CPUFUNC(op_e1a0_0), 0, 57760 }, /* ASL.L Dn,Dn */ +{ CPUFUNC(op_e1a8_0), 0, 57768 }, /* LSL.L Dn,Dn */ +{ CPUFUNC(op_e1b0_0), 0, 57776 }, /* ROXL.L Dn,Dn */ +{ CPUFUNC(op_e1b8_0), 0, 57784 }, /* ROL.L Dn,Dn */ +{ CPUFUNC(op_e1d0_0), 0, 57808 }, /* ASLW.W (An) */ +{ CPUFUNC(op_e1d8_0), 0, 57816 }, /* ASLW.W (An)+ */ +{ CPUFUNC(op_e1e0_0), 0, 57824 }, /* ASLW.W -(An) */ +{ CPUFUNC(op_e1e8_0), 0, 57832 }, /* ASLW.W (d16,An) */ +{ CPUFUNC(op_e1f0_0), 0, 57840 }, /* ASLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e1f8_0), 0, 57848 }, /* ASLW.W (xxx).W */ +{ CPUFUNC(op_e1f9_0), 0, 57849 }, /* ASLW.W (xxx).L */ +{ CPUFUNC(op_e2d0_0), 0, 58064 }, /* LSRW.W (An) */ +{ CPUFUNC(op_e2d8_0), 0, 58072 }, /* LSRW.W (An)+ */ +{ CPUFUNC(op_e2e0_0), 0, 58080 }, /* LSRW.W -(An) */ +{ CPUFUNC(op_e2e8_0), 0, 58088 }, /* LSRW.W (d16,An) */ +{ CPUFUNC(op_e2f0_0), 0, 58096 }, /* LSRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e2f8_0), 0, 58104 }, /* LSRW.W (xxx).W */ +{ CPUFUNC(op_e2f9_0), 0, 58105 }, /* LSRW.W (xxx).L */ +{ CPUFUNC(op_e3d0_0), 0, 58320 }, /* LSLW.W (An) */ +{ CPUFUNC(op_e3d8_0), 0, 58328 }, /* LSLW.W (An)+ */ +{ CPUFUNC(op_e3e0_0), 0, 58336 }, /* LSLW.W -(An) */ +{ CPUFUNC(op_e3e8_0), 0, 58344 }, /* LSLW.W (d16,An) */ +{ CPUFUNC(op_e3f0_0), 0, 58352 }, /* LSLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e3f8_0), 0, 58360 }, /* LSLW.W (xxx).W */ +{ CPUFUNC(op_e3f9_0), 0, 58361 }, /* LSLW.W (xxx).L */ +{ CPUFUNC(op_e4d0_0), 0, 58576 }, /* ROXRW.W (An) */ +{ CPUFUNC(op_e4d8_0), 0, 58584 }, /* ROXRW.W (An)+ */ +{ CPUFUNC(op_e4e0_0), 0, 58592 }, /* ROXRW.W -(An) */ +{ CPUFUNC(op_e4e8_0), 0, 58600 }, /* ROXRW.W (d16,An) */ +{ CPUFUNC(op_e4f0_0), 0, 58608 }, /* ROXRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e4f8_0), 0, 58616 }, /* ROXRW.W (xxx).W */ +{ CPUFUNC(op_e4f9_0), 0, 58617 }, /* ROXRW.W (xxx).L */ +{ CPUFUNC(op_e5d0_0), 0, 58832 }, /* ROXLW.W (An) */ +{ CPUFUNC(op_e5d8_0), 0, 58840 }, /* ROXLW.W (An)+ */ +{ CPUFUNC(op_e5e0_0), 0, 58848 }, /* ROXLW.W -(An) */ +{ CPUFUNC(op_e5e8_0), 0, 58856 }, /* ROXLW.W (d16,An) */ +{ CPUFUNC(op_e5f0_0), 0, 58864 }, /* ROXLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e5f8_0), 0, 58872 }, /* ROXLW.W (xxx).W */ +{ CPUFUNC(op_e5f9_0), 0, 58873 }, /* ROXLW.W (xxx).L */ +{ CPUFUNC(op_e6d0_0), 0, 59088 }, /* RORW.W (An) */ +{ CPUFUNC(op_e6d8_0), 0, 59096 }, /* RORW.W (An)+ */ +{ CPUFUNC(op_e6e0_0), 0, 59104 }, /* RORW.W -(An) */ +{ CPUFUNC(op_e6e8_0), 0, 59112 }, /* RORW.W (d16,An) */ +{ CPUFUNC(op_e6f0_0), 0, 59120 }, /* RORW.W (d8,An,Xn) */ +{ CPUFUNC(op_e6f8_0), 0, 59128 }, /* RORW.W (xxx).W */ +{ CPUFUNC(op_e6f9_0), 0, 59129 }, /* RORW.W (xxx).L */ +{ CPUFUNC(op_e7d0_0), 0, 59344 }, /* ROLW.W (An) */ +{ CPUFUNC(op_e7d8_0), 0, 59352 }, /* ROLW.W (An)+ */ +{ CPUFUNC(op_e7e0_0), 0, 59360 }, /* ROLW.W -(An) */ +{ CPUFUNC(op_e7e8_0), 0, 59368 }, /* ROLW.W (d16,An) */ +{ CPUFUNC(op_e7f0_0), 0, 59376 }, /* ROLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e7f8_0), 0, 59384 }, /* ROLW.W (xxx).W */ +{ CPUFUNC(op_e7f9_0), 0, 59385 }, /* ROLW.W (xxx).L */ +{ CPUFUNC(op_e8c0_0), 0, 59584 }, /* BFTST.L #.W,Dn */ +{ CPUFUNC(op_e8d0_0), 0, 59600 }, /* BFTST.L #.W,(An) */ +{ CPUFUNC(op_e8e8_0), 0, 59624 }, /* BFTST.L #.W,(d16,An) */ +{ CPUFUNC(op_e8f0_0), 0, 59632 }, /* BFTST.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_e8f8_0), 0, 59640 }, /* BFTST.L #.W,(xxx).W */ +{ CPUFUNC(op_e8f9_0), 0, 59641 }, /* BFTST.L #.W,(xxx).L */ +{ CPUFUNC(op_e8fa_0), 0, 59642 }, /* BFTST.L #.W,(d16,PC) */ +{ CPUFUNC(op_e8fb_0), 0, 59643 }, /* BFTST.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_e9c0_0), 0, 59840 }, /* BFEXTU.L #.W,Dn */ +{ CPUFUNC(op_e9d0_0), 0, 59856 }, /* BFEXTU.L #.W,(An) */ +{ CPUFUNC(op_e9e8_0), 0, 59880 }, /* BFEXTU.L #.W,(d16,An) */ +{ CPUFUNC(op_e9f0_0), 0, 59888 }, /* BFEXTU.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_e9f8_0), 0, 59896 }, /* BFEXTU.L #.W,(xxx).W */ +{ CPUFUNC(op_e9f9_0), 0, 59897 }, /* BFEXTU.L #.W,(xxx).L */ +{ CPUFUNC(op_e9fa_0), 0, 59898 }, /* BFEXTU.L #.W,(d16,PC) */ +{ CPUFUNC(op_e9fb_0), 0, 59899 }, /* BFEXTU.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_eac0_0), 0, 60096 }, /* BFCHG.L #.W,Dn */ +{ CPUFUNC(op_ead0_0), 0, 60112 }, /* BFCHG.L #.W,(An) */ +{ CPUFUNC(op_eae8_0), 0, 60136 }, /* BFCHG.L #.W,(d16,An) */ +{ CPUFUNC(op_eaf0_0), 0, 60144 }, /* BFCHG.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eaf8_0), 0, 60152 }, /* BFCHG.L #.W,(xxx).W */ +{ CPUFUNC(op_eaf9_0), 0, 60153 }, /* BFCHG.L #.W,(xxx).L */ +{ CPUFUNC(op_ebc0_0), 0, 60352 }, /* BFEXTS.L #.W,Dn */ +{ CPUFUNC(op_ebd0_0), 0, 60368 }, /* BFEXTS.L #.W,(An) */ +{ CPUFUNC(op_ebe8_0), 0, 60392 }, /* BFEXTS.L #.W,(d16,An) */ +{ CPUFUNC(op_ebf0_0), 0, 60400 }, /* BFEXTS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ebf8_0), 0, 60408 }, /* BFEXTS.L #.W,(xxx).W */ +{ CPUFUNC(op_ebf9_0), 0, 60409 }, /* BFEXTS.L #.W,(xxx).L */ +{ CPUFUNC(op_ebfa_0), 0, 60410 }, /* BFEXTS.L #.W,(d16,PC) */ +{ CPUFUNC(op_ebfb_0), 0, 60411 }, /* BFEXTS.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_ecc0_0), 0, 60608 }, /* BFCLR.L #.W,Dn */ +{ CPUFUNC(op_ecd0_0), 0, 60624 }, /* BFCLR.L #.W,(An) */ +{ CPUFUNC(op_ece8_0), 0, 60648 }, /* BFCLR.L #.W,(d16,An) */ +{ CPUFUNC(op_ecf0_0), 0, 60656 }, /* BFCLR.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_ecf8_0), 0, 60664 }, /* BFCLR.L #.W,(xxx).W */ +{ CPUFUNC(op_ecf9_0), 0, 60665 }, /* BFCLR.L #.W,(xxx).L */ +{ CPUFUNC(op_edc0_0), 0, 60864 }, /* BFFFO.L #.W,Dn */ +{ CPUFUNC(op_edd0_0), 0, 60880 }, /* BFFFO.L #.W,(An) */ +{ CPUFUNC(op_ede8_0), 0, 60904 }, /* BFFFO.L #.W,(d16,An) */ +{ CPUFUNC(op_edf0_0), 0, 60912 }, /* BFFFO.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_edf8_0), 0, 60920 }, /* BFFFO.L #.W,(xxx).W */ +{ CPUFUNC(op_edf9_0), 0, 60921 }, /* BFFFO.L #.W,(xxx).L */ +{ CPUFUNC(op_edfa_0), 0, 60922 }, /* BFFFO.L #.W,(d16,PC) */ +{ CPUFUNC(op_edfb_0), 0, 60923 }, /* BFFFO.L #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_eec0_0), 0, 61120 }, /* BFSET.L #.W,Dn */ +{ CPUFUNC(op_eed0_0), 0, 61136 }, /* BFSET.L #.W,(An) */ +{ CPUFUNC(op_eee8_0), 0, 61160 }, /* BFSET.L #.W,(d16,An) */ +{ CPUFUNC(op_eef0_0), 0, 61168 }, /* BFSET.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eef8_0), 0, 61176 }, /* BFSET.L #.W,(xxx).W */ +{ CPUFUNC(op_eef9_0), 0, 61177 }, /* BFSET.L #.W,(xxx).L */ +{ CPUFUNC(op_efc0_0), 0, 61376 }, /* BFINS.L #.W,Dn */ +{ CPUFUNC(op_efd0_0), 0, 61392 }, /* BFINS.L #.W,(An) */ +{ CPUFUNC(op_efe8_0), 0, 61416 }, /* BFINS.L #.W,(d16,An) */ +{ CPUFUNC(op_eff0_0), 0, 61424 }, /* BFINS.L #.W,(d8,An,Xn) */ +{ CPUFUNC(op_eff8_0), 0, 61432 }, /* BFINS.L #.W,(xxx).W */ +{ CPUFUNC(op_eff9_0), 0, 61433 }, /* BFINS.L #.W,(xxx).L */ +{ 0, 0, 0 }}; +struct cputbl CPUFUNC(op_smalltbl_3)[] = { +{ CPUFUNC(op_0_0), 0, 0 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_10_0), 0, 16 }, /* OR.B #.B,(An) */ +{ CPUFUNC(op_18_0), 0, 24 }, /* OR.B #.B,(An)+ */ +{ CPUFUNC(op_20_0), 0, 32 }, /* OR.B #.B,-(An) */ +{ CPUFUNC(op_28_0), 0, 40 }, /* OR.B #.B,(d16,An) */ +{ CPUFUNC(op_30_3), 0, 48 }, /* OR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_38_0), 0, 56 }, /* OR.B #.B,(xxx).W */ +{ CPUFUNC(op_39_0), 0, 57 }, /* OR.B #.B,(xxx).L */ +{ CPUFUNC(op_3c_0), 0, 60 }, /* ORSR.B #.W */ +{ CPUFUNC(op_40_0), 0, 64 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_50_0), 0, 80 }, /* OR.W #.W,(An) */ +{ CPUFUNC(op_58_0), 0, 88 }, /* OR.W #.W,(An)+ */ +{ CPUFUNC(op_60_0), 0, 96 }, /* OR.W #.W,-(An) */ +{ CPUFUNC(op_68_0), 0, 104 }, /* OR.W #.W,(d16,An) */ +{ CPUFUNC(op_70_3), 0, 112 }, /* OR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_78_0), 0, 120 }, /* OR.W #.W,(xxx).W */ +{ CPUFUNC(op_79_0), 0, 121 }, /* OR.W #.W,(xxx).L */ +{ CPUFUNC(op_7c_0), 0, 124 }, /* ORSR.W #.W */ +{ CPUFUNC(op_80_0), 0, 128 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_90_0), 0, 144 }, /* OR.L #.L,(An) */ +{ CPUFUNC(op_98_0), 0, 152 }, /* OR.L #.L,(An)+ */ +{ CPUFUNC(op_a0_0), 0, 160 }, /* OR.L #.L,-(An) */ +{ CPUFUNC(op_a8_0), 0, 168 }, /* OR.L #.L,(d16,An) */ +{ CPUFUNC(op_b0_3), 0, 176 }, /* OR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_b8_0), 0, 184 }, /* OR.L #.L,(xxx).W */ +{ CPUFUNC(op_b9_0), 0, 185 }, /* OR.L #.L,(xxx).L */ +{ CPUFUNC(op_100_0), 0, 256 }, /* BTST.L Dn,Dn */ +{ CPUFUNC_FF(op_108_0), 0, 264 }, /* MVPMR.W (d16,An),Dn */ +{ CPUFUNC(op_110_0), 0, 272 }, /* BTST.B Dn,(An) */ +{ CPUFUNC(op_118_0), 0, 280 }, /* BTST.B Dn,(An)+ */ +{ CPUFUNC(op_120_0), 0, 288 }, /* BTST.B Dn,-(An) */ +{ CPUFUNC(op_128_0), 0, 296 }, /* BTST.B Dn,(d16,An) */ +{ CPUFUNC(op_130_3), 0, 304 }, /* BTST.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_138_0), 0, 312 }, /* BTST.B Dn,(xxx).W */ +{ CPUFUNC(op_139_0), 0, 313 }, /* BTST.B Dn,(xxx).L */ +{ CPUFUNC(op_13a_0), 0, 314 }, /* BTST.B Dn,(d16,PC) */ +{ CPUFUNC(op_13b_3), 0, 315 }, /* BTST.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_13c_0), 0, 316 }, /* BTST.B Dn,#.B */ +{ CPUFUNC(op_140_0), 0, 320 }, /* BCHG.L Dn,Dn */ +{ CPUFUNC_FF(op_148_0), 0, 328 }, /* MVPMR.L (d16,An),Dn */ +{ CPUFUNC(op_150_0), 0, 336 }, /* BCHG.B Dn,(An) */ +{ CPUFUNC(op_158_0), 0, 344 }, /* BCHG.B Dn,(An)+ */ +{ CPUFUNC(op_160_0), 0, 352 }, /* BCHG.B Dn,-(An) */ +{ CPUFUNC(op_168_0), 0, 360 }, /* BCHG.B Dn,(d16,An) */ +{ CPUFUNC(op_170_3), 0, 368 }, /* BCHG.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_178_0), 0, 376 }, /* BCHG.B Dn,(xxx).W */ +{ CPUFUNC(op_179_0), 0, 377 }, /* BCHG.B Dn,(xxx).L */ +{ CPUFUNC(op_17a_0), 0, 378 }, /* BCHG.B Dn,(d16,PC) */ +{ CPUFUNC(op_17b_3), 0, 379 }, /* BCHG.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_180_0), 0, 384 }, /* BCLR.L Dn,Dn */ +{ CPUFUNC_FF(op_188_0), 0, 392 }, /* MVPRM.W Dn,(d16,An) */ +{ CPUFUNC(op_190_0), 0, 400 }, /* BCLR.B Dn,(An) */ +{ CPUFUNC(op_198_0), 0, 408 }, /* BCLR.B Dn,(An)+ */ +{ CPUFUNC(op_1a0_0), 0, 416 }, /* BCLR.B Dn,-(An) */ +{ CPUFUNC(op_1a8_0), 0, 424 }, /* BCLR.B Dn,(d16,An) */ +{ CPUFUNC(op_1b0_3), 0, 432 }, /* BCLR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1b8_0), 0, 440 }, /* BCLR.B Dn,(xxx).W */ +{ CPUFUNC(op_1b9_0), 0, 441 }, /* BCLR.B Dn,(xxx).L */ +{ CPUFUNC(op_1ba_0), 0, 442 }, /* BCLR.B Dn,(d16,PC) */ +{ CPUFUNC(op_1bb_3), 0, 443 }, /* BCLR.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_1c0_0), 0, 448 }, /* BSET.L Dn,Dn */ +{ CPUFUNC_FF(op_1c8_0), 0, 456 }, /* MVPRM.L Dn,(d16,An) */ +{ CPUFUNC(op_1d0_0), 0, 464 }, /* BSET.B Dn,(An) */ +{ CPUFUNC(op_1d8_0), 0, 472 }, /* BSET.B Dn,(An)+ */ +{ CPUFUNC(op_1e0_0), 0, 480 }, /* BSET.B Dn,-(An) */ +{ CPUFUNC(op_1e8_0), 0, 488 }, /* BSET.B Dn,(d16,An) */ +{ CPUFUNC(op_1f0_3), 0, 496 }, /* BSET.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1f8_0), 0, 504 }, /* BSET.B Dn,(xxx).W */ +{ CPUFUNC(op_1f9_0), 0, 505 }, /* BSET.B Dn,(xxx).L */ +{ CPUFUNC(op_1fa_0), 0, 506 }, /* BSET.B Dn,(d16,PC) */ +{ CPUFUNC(op_1fb_3), 0, 507 }, /* BSET.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_200_0), 0, 512 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_210_0), 0, 528 }, /* AND.B #.B,(An) */ +{ CPUFUNC(op_218_0), 0, 536 }, /* AND.B #.B,(An)+ */ +{ CPUFUNC(op_220_0), 0, 544 }, /* AND.B #.B,-(An) */ +{ CPUFUNC(op_228_0), 0, 552 }, /* AND.B #.B,(d16,An) */ +{ CPUFUNC(op_230_3), 0, 560 }, /* AND.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_238_0), 0, 568 }, /* AND.B #.B,(xxx).W */ +{ CPUFUNC(op_239_0), 0, 569 }, /* AND.B #.B,(xxx).L */ +{ CPUFUNC(op_23c_0), 0, 572 }, /* ANDSR.B #.W */ +{ CPUFUNC(op_240_0), 0, 576 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_250_0), 0, 592 }, /* AND.W #.W,(An) */ +{ CPUFUNC(op_258_0), 0, 600 }, /* AND.W #.W,(An)+ */ +{ CPUFUNC(op_260_0), 0, 608 }, /* AND.W #.W,-(An) */ +{ CPUFUNC(op_268_0), 0, 616 }, /* AND.W #.W,(d16,An) */ +{ CPUFUNC(op_270_3), 0, 624 }, /* AND.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_278_0), 0, 632 }, /* AND.W #.W,(xxx).W */ +{ CPUFUNC(op_279_0), 0, 633 }, /* AND.W #.W,(xxx).L */ +{ CPUFUNC(op_27c_0), 0, 636 }, /* ANDSR.W #.W */ +{ CPUFUNC(op_280_0), 0, 640 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_290_0), 0, 656 }, /* AND.L #.L,(An) */ +{ CPUFUNC(op_298_0), 0, 664 }, /* AND.L #.L,(An)+ */ +{ CPUFUNC(op_2a0_0), 0, 672 }, /* AND.L #.L,-(An) */ +{ CPUFUNC(op_2a8_0), 0, 680 }, /* AND.L #.L,(d16,An) */ +{ CPUFUNC(op_2b0_3), 0, 688 }, /* AND.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_2b8_0), 0, 696 }, /* AND.L #.L,(xxx).W */ +{ CPUFUNC(op_2b9_0), 0, 697 }, /* AND.L #.L,(xxx).L */ +{ CPUFUNC(op_400_0), 0, 1024 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_410_0), 0, 1040 }, /* SUB.B #.B,(An) */ +{ CPUFUNC(op_418_0), 0, 1048 }, /* SUB.B #.B,(An)+ */ +{ CPUFUNC(op_420_0), 0, 1056 }, /* SUB.B #.B,-(An) */ +{ CPUFUNC(op_428_0), 0, 1064 }, /* SUB.B #.B,(d16,An) */ +{ CPUFUNC(op_430_3), 0, 1072 }, /* SUB.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_438_0), 0, 1080 }, /* SUB.B #.B,(xxx).W */ +{ CPUFUNC(op_439_0), 0, 1081 }, /* SUB.B #.B,(xxx).L */ +{ CPUFUNC(op_440_0), 0, 1088 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_450_0), 0, 1104 }, /* SUB.W #.W,(An) */ +{ CPUFUNC(op_458_0), 0, 1112 }, /* SUB.W #.W,(An)+ */ +{ CPUFUNC(op_460_0), 0, 1120 }, /* SUB.W #.W,-(An) */ +{ CPUFUNC(op_468_0), 0, 1128 }, /* SUB.W #.W,(d16,An) */ +{ CPUFUNC(op_470_3), 0, 1136 }, /* SUB.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_478_0), 0, 1144 }, /* SUB.W #.W,(xxx).W */ +{ CPUFUNC(op_479_0), 0, 1145 }, /* SUB.W #.W,(xxx).L */ +{ CPUFUNC(op_480_0), 0, 1152 }, /* SUB.L #.L,Dn */ +{ CPUFUNC(op_490_0), 0, 1168 }, /* SUB.L #.L,(An) */ +{ CPUFUNC(op_498_0), 0, 1176 }, /* SUB.L #.L,(An)+ */ +{ CPUFUNC(op_4a0_0), 0, 1184 }, /* SUB.L #.L,-(An) */ +{ CPUFUNC(op_4a8_0), 0, 1192 }, /* SUB.L #.L,(d16,An) */ +{ CPUFUNC(op_4b0_3), 0, 1200 }, /* SUB.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_4b8_0), 0, 1208 }, /* SUB.L #.L,(xxx).W */ +{ CPUFUNC(op_4b9_0), 0, 1209 }, /* SUB.L #.L,(xxx).L */ +{ CPUFUNC(op_600_0), 0, 1536 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_610_0), 0, 1552 }, /* ADD.B #.B,(An) */ +{ CPUFUNC(op_618_0), 0, 1560 }, /* ADD.B #.B,(An)+ */ +{ CPUFUNC(op_620_0), 0, 1568 }, /* ADD.B #.B,-(An) */ +{ CPUFUNC(op_628_0), 0, 1576 }, /* ADD.B #.B,(d16,An) */ +{ CPUFUNC(op_630_3), 0, 1584 }, /* ADD.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_638_0), 0, 1592 }, /* ADD.B #.B,(xxx).W */ +{ CPUFUNC(op_639_0), 0, 1593 }, /* ADD.B #.B,(xxx).L */ +{ CPUFUNC(op_640_0), 0, 1600 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_650_0), 0, 1616 }, /* ADD.W #.W,(An) */ +{ CPUFUNC(op_658_0), 0, 1624 }, /* ADD.W #.W,(An)+ */ +{ CPUFUNC(op_660_0), 0, 1632 }, /* ADD.W #.W,-(An) */ +{ CPUFUNC(op_668_0), 0, 1640 }, /* ADD.W #.W,(d16,An) */ +{ CPUFUNC(op_670_3), 0, 1648 }, /* ADD.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_678_0), 0, 1656 }, /* ADD.W #.W,(xxx).W */ +{ CPUFUNC(op_679_0), 0, 1657 }, /* ADD.W #.W,(xxx).L */ +{ CPUFUNC(op_680_0), 0, 1664 }, /* ADD.L #.L,Dn */ +{ CPUFUNC(op_690_0), 0, 1680 }, /* ADD.L #.L,(An) */ +{ CPUFUNC(op_698_0), 0, 1688 }, /* ADD.L #.L,(An)+ */ +{ CPUFUNC(op_6a0_0), 0, 1696 }, /* ADD.L #.L,-(An) */ +{ CPUFUNC(op_6a8_0), 0, 1704 }, /* ADD.L #.L,(d16,An) */ +{ CPUFUNC(op_6b0_3), 0, 1712 }, /* ADD.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_6b8_0), 0, 1720 }, /* ADD.L #.L,(xxx).W */ +{ CPUFUNC(op_6b9_0), 0, 1721 }, /* ADD.L #.L,(xxx).L */ +{ CPUFUNC(op_800_0), 0, 2048 }, /* BTST.L #.W,Dn */ +{ CPUFUNC(op_810_0), 0, 2064 }, /* BTST.B #.W,(An) */ +{ CPUFUNC(op_818_0), 0, 2072 }, /* BTST.B #.W,(An)+ */ +{ CPUFUNC(op_820_0), 0, 2080 }, /* BTST.B #.W,-(An) */ +{ CPUFUNC(op_828_0), 0, 2088 }, /* BTST.B #.W,(d16,An) */ +{ CPUFUNC(op_830_3), 0, 2096 }, /* BTST.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_838_0), 0, 2104 }, /* BTST.B #.W,(xxx).W */ +{ CPUFUNC(op_839_0), 0, 2105 }, /* BTST.B #.W,(xxx).L */ +{ CPUFUNC(op_83a_0), 0, 2106 }, /* BTST.B #.W,(d16,PC) */ +{ CPUFUNC(op_83b_3), 0, 2107 }, /* BTST.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_83c_0), 0, 2108 }, /* BTST.B #.W,#.B */ +{ CPUFUNC(op_840_0), 0, 2112 }, /* BCHG.L #.W,Dn */ +{ CPUFUNC(op_850_0), 0, 2128 }, /* BCHG.B #.W,(An) */ +{ CPUFUNC(op_858_0), 0, 2136 }, /* BCHG.B #.W,(An)+ */ +{ CPUFUNC(op_860_0), 0, 2144 }, /* BCHG.B #.W,-(An) */ +{ CPUFUNC(op_868_0), 0, 2152 }, /* BCHG.B #.W,(d16,An) */ +{ CPUFUNC(op_870_3), 0, 2160 }, /* BCHG.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_878_0), 0, 2168 }, /* BCHG.B #.W,(xxx).W */ +{ CPUFUNC(op_879_0), 0, 2169 }, /* BCHG.B #.W,(xxx).L */ +{ CPUFUNC(op_87a_0), 0, 2170 }, /* BCHG.B #.W,(d16,PC) */ +{ CPUFUNC(op_87b_3), 0, 2171 }, /* BCHG.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_880_0), 0, 2176 }, /* BCLR.L #.W,Dn */ +{ CPUFUNC(op_890_0), 0, 2192 }, /* BCLR.B #.W,(An) */ +{ CPUFUNC(op_898_0), 0, 2200 }, /* BCLR.B #.W,(An)+ */ +{ CPUFUNC(op_8a0_0), 0, 2208 }, /* BCLR.B #.W,-(An) */ +{ CPUFUNC(op_8a8_0), 0, 2216 }, /* BCLR.B #.W,(d16,An) */ +{ CPUFUNC(op_8b0_3), 0, 2224 }, /* BCLR.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8b8_0), 0, 2232 }, /* BCLR.B #.W,(xxx).W */ +{ CPUFUNC(op_8b9_0), 0, 2233 }, /* BCLR.B #.W,(xxx).L */ +{ CPUFUNC(op_8ba_0), 0, 2234 }, /* BCLR.B #.W,(d16,PC) */ +{ CPUFUNC(op_8bb_3), 0, 2235 }, /* BCLR.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_8c0_0), 0, 2240 }, /* BSET.L #.W,Dn */ +{ CPUFUNC(op_8d0_0), 0, 2256 }, /* BSET.B #.W,(An) */ +{ CPUFUNC(op_8d8_0), 0, 2264 }, /* BSET.B #.W,(An)+ */ +{ CPUFUNC(op_8e0_0), 0, 2272 }, /* BSET.B #.W,-(An) */ +{ CPUFUNC(op_8e8_0), 0, 2280 }, /* BSET.B #.W,(d16,An) */ +{ CPUFUNC(op_8f0_3), 0, 2288 }, /* BSET.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8f8_0), 0, 2296 }, /* BSET.B #.W,(xxx).W */ +{ CPUFUNC(op_8f9_0), 0, 2297 }, /* BSET.B #.W,(xxx).L */ +{ CPUFUNC(op_8fa_0), 0, 2298 }, /* BSET.B #.W,(d16,PC) */ +{ CPUFUNC(op_8fb_3), 0, 2299 }, /* BSET.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_a00_0), 0, 2560 }, /* EOR.B #.B,Dn */ +{ CPUFUNC(op_a10_0), 0, 2576 }, /* EOR.B #.B,(An) */ +{ CPUFUNC(op_a18_0), 0, 2584 }, /* EOR.B #.B,(An)+ */ +{ CPUFUNC(op_a20_0), 0, 2592 }, /* EOR.B #.B,-(An) */ +{ CPUFUNC(op_a28_0), 0, 2600 }, /* EOR.B #.B,(d16,An) */ +{ CPUFUNC(op_a30_3), 0, 2608 }, /* EOR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_a38_0), 0, 2616 }, /* EOR.B #.B,(xxx).W */ +{ CPUFUNC(op_a39_0), 0, 2617 }, /* EOR.B #.B,(xxx).L */ +{ CPUFUNC(op_a3c_0), 0, 2620 }, /* EORSR.B #.W */ +{ CPUFUNC(op_a40_0), 0, 2624 }, /* EOR.W #.W,Dn */ +{ CPUFUNC(op_a50_0), 0, 2640 }, /* EOR.W #.W,(An) */ +{ CPUFUNC(op_a58_0), 0, 2648 }, /* EOR.W #.W,(An)+ */ +{ CPUFUNC(op_a60_0), 0, 2656 }, /* EOR.W #.W,-(An) */ +{ CPUFUNC(op_a68_0), 0, 2664 }, /* EOR.W #.W,(d16,An) */ +{ CPUFUNC(op_a70_3), 0, 2672 }, /* EOR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_a78_0), 0, 2680 }, /* EOR.W #.W,(xxx).W */ +{ CPUFUNC(op_a79_0), 0, 2681 }, /* EOR.W #.W,(xxx).L */ +{ CPUFUNC(op_a7c_0), 0, 2684 }, /* EORSR.W #.W */ +{ CPUFUNC(op_a80_0), 0, 2688 }, /* EOR.L #.L,Dn */ +{ CPUFUNC(op_a90_0), 0, 2704 }, /* EOR.L #.L,(An) */ +{ CPUFUNC(op_a98_0), 0, 2712 }, /* EOR.L #.L,(An)+ */ +{ CPUFUNC(op_aa0_0), 0, 2720 }, /* EOR.L #.L,-(An) */ +{ CPUFUNC(op_aa8_0), 0, 2728 }, /* EOR.L #.L,(d16,An) */ +{ CPUFUNC(op_ab0_3), 0, 2736 }, /* EOR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_ab8_0), 0, 2744 }, /* EOR.L #.L,(xxx).W */ +{ CPUFUNC(op_ab9_0), 0, 2745 }, /* EOR.L #.L,(xxx).L */ +{ CPUFUNC(op_c00_0), 0, 3072 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_c10_0), 0, 3088 }, /* CMP.B #.B,(An) */ +{ CPUFUNC(op_c18_0), 0, 3096 }, /* CMP.B #.B,(An)+ */ +{ CPUFUNC(op_c20_0), 0, 3104 }, /* CMP.B #.B,-(An) */ +{ CPUFUNC(op_c28_0), 0, 3112 }, /* CMP.B #.B,(d16,An) */ +{ CPUFUNC(op_c30_3), 0, 3120 }, /* CMP.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_c38_0), 0, 3128 }, /* CMP.B #.B,(xxx).W */ +{ CPUFUNC(op_c39_0), 0, 3129 }, /* CMP.B #.B,(xxx).L */ +{ CPUFUNC(op_c3a_0), 0, 3130 }, /* CMP.B #.B,(d16,PC) */ +{ CPUFUNC(op_c3b_3), 0, 3131 }, /* CMP.B #.B,(d8,PC,Xn) */ +{ CPUFUNC(op_c40_0), 0, 3136 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_c50_0), 0, 3152 }, /* CMP.W #.W,(An) */ +{ CPUFUNC(op_c58_0), 0, 3160 }, /* CMP.W #.W,(An)+ */ +{ CPUFUNC(op_c60_0), 0, 3168 }, /* CMP.W #.W,-(An) */ +{ CPUFUNC(op_c68_0), 0, 3176 }, /* CMP.W #.W,(d16,An) */ +{ CPUFUNC(op_c70_3), 0, 3184 }, /* CMP.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_c78_0), 0, 3192 }, /* CMP.W #.W,(xxx).W */ +{ CPUFUNC(op_c79_0), 0, 3193 }, /* CMP.W #.W,(xxx).L */ +{ CPUFUNC(op_c7a_0), 0, 3194 }, /* CMP.W #.W,(d16,PC) */ +{ CPUFUNC(op_c7b_3), 0, 3195 }, /* CMP.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_c80_0), 0, 3200 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_c90_0), 0, 3216 }, /* CMP.L #.L,(An) */ +{ CPUFUNC(op_c98_0), 0, 3224 }, /* CMP.L #.L,(An)+ */ +{ CPUFUNC(op_ca0_0), 0, 3232 }, /* CMP.L #.L,-(An) */ +{ CPUFUNC(op_ca8_0), 0, 3240 }, /* CMP.L #.L,(d16,An) */ +{ CPUFUNC(op_cb0_3), 0, 3248 }, /* CMP.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_cb8_0), 0, 3256 }, /* CMP.L #.L,(xxx).W */ +{ CPUFUNC(op_cb9_0), 0, 3257 }, /* CMP.L #.L,(xxx).L */ +{ CPUFUNC(op_cba_0), 0, 3258 }, /* CMP.L #.L,(d16,PC) */ +{ CPUFUNC(op_cbb_3), 0, 3259 }, /* CMP.L #.L,(d8,PC,Xn) */ +{ CPUFUNC(op_1000_0), 0, 4096 }, /* MOVE.B Dn,Dn */ +{ CPUFUNC(op_1010_0), 0, 4112 }, /* MOVE.B (An),Dn */ +{ CPUFUNC(op_1018_0), 0, 4120 }, /* MOVE.B (An)+,Dn */ +{ CPUFUNC(op_1020_0), 0, 4128 }, /* MOVE.B -(An),Dn */ +{ CPUFUNC(op_1028_0), 0, 4136 }, /* MOVE.B (d16,An),Dn */ +{ CPUFUNC(op_1030_3), 0, 4144 }, /* MOVE.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_1038_0), 0, 4152 }, /* MOVE.B (xxx).W,Dn */ +{ CPUFUNC(op_1039_0), 0, 4153 }, /* MOVE.B (xxx).L,Dn */ +{ CPUFUNC(op_103a_0), 0, 4154 }, /* MOVE.B (d16,PC),Dn */ +{ CPUFUNC(op_103b_3), 0, 4155 }, /* MOVE.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_103c_0), 0, 4156 }, /* MOVE.B #.B,Dn */ +{ CPUFUNC(op_1080_0), 0, 4224 }, /* MOVE.B Dn,(An) */ +{ CPUFUNC(op_1090_0), 0, 4240 }, /* MOVE.B (An),(An) */ +{ CPUFUNC(op_1098_0), 0, 4248 }, /* MOVE.B (An)+,(An) */ +{ CPUFUNC(op_10a0_0), 0, 4256 }, /* MOVE.B -(An),(An) */ +{ CPUFUNC(op_10a8_0), 0, 4264 }, /* MOVE.B (d16,An),(An) */ +{ CPUFUNC(op_10b0_3), 0, 4272 }, /* MOVE.B (d8,An,Xn),(An) */ +{ CPUFUNC(op_10b8_0), 0, 4280 }, /* MOVE.B (xxx).W,(An) */ +{ CPUFUNC(op_10b9_0), 0, 4281 }, /* MOVE.B (xxx).L,(An) */ +{ CPUFUNC(op_10ba_0), 0, 4282 }, /* MOVE.B (d16,PC),(An) */ +{ CPUFUNC(op_10bb_3), 0, 4283 }, /* MOVE.B (d8,PC,Xn),(An) */ +{ CPUFUNC(op_10bc_0), 0, 4284 }, /* MOVE.B #.B,(An) */ +{ CPUFUNC(op_10c0_0), 0, 4288 }, /* MOVE.B Dn,(An)+ */ +{ CPUFUNC(op_10d0_0), 0, 4304 }, /* MOVE.B (An),(An)+ */ +{ CPUFUNC(op_10d8_0), 0, 4312 }, /* MOVE.B (An)+,(An)+ */ +{ CPUFUNC(op_10e0_0), 0, 4320 }, /* MOVE.B -(An),(An)+ */ +{ CPUFUNC(op_10e8_0), 0, 4328 }, /* MOVE.B (d16,An),(An)+ */ +{ CPUFUNC(op_10f0_3), 0, 4336 }, /* MOVE.B (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_10f8_0), 0, 4344 }, /* MOVE.B (xxx).W,(An)+ */ +{ CPUFUNC(op_10f9_0), 0, 4345 }, /* MOVE.B (xxx).L,(An)+ */ +{ CPUFUNC(op_10fa_0), 0, 4346 }, /* MOVE.B (d16,PC),(An)+ */ +{ CPUFUNC(op_10fb_3), 0, 4347 }, /* MOVE.B (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_10fc_0), 0, 4348 }, /* MOVE.B #.B,(An)+ */ +{ CPUFUNC(op_1100_0), 0, 4352 }, /* MOVE.B Dn,-(An) */ +{ CPUFUNC(op_1110_0), 0, 4368 }, /* MOVE.B (An),-(An) */ +{ CPUFUNC(op_1118_0), 0, 4376 }, /* MOVE.B (An)+,-(An) */ +{ CPUFUNC(op_1120_0), 0, 4384 }, /* MOVE.B -(An),-(An) */ +{ CPUFUNC(op_1128_0), 0, 4392 }, /* MOVE.B (d16,An),-(An) */ +{ CPUFUNC(op_1130_3), 0, 4400 }, /* MOVE.B (d8,An,Xn),-(An) */ +{ CPUFUNC(op_1138_0), 0, 4408 }, /* MOVE.B (xxx).W,-(An) */ +{ CPUFUNC(op_1139_0), 0, 4409 }, /* MOVE.B (xxx).L,-(An) */ +{ CPUFUNC(op_113a_0), 0, 4410 }, /* MOVE.B (d16,PC),-(An) */ +{ CPUFUNC(op_113b_3), 0, 4411 }, /* MOVE.B (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_113c_0), 0, 4412 }, /* MOVE.B #.B,-(An) */ +{ CPUFUNC(op_1140_0), 0, 4416 }, /* MOVE.B Dn,(d16,An) */ +{ CPUFUNC(op_1150_0), 0, 4432 }, /* MOVE.B (An),(d16,An) */ +{ CPUFUNC(op_1158_0), 0, 4440 }, /* MOVE.B (An)+,(d16,An) */ +{ CPUFUNC(op_1160_0), 0, 4448 }, /* MOVE.B -(An),(d16,An) */ +{ CPUFUNC(op_1168_0), 0, 4456 }, /* MOVE.B (d16,An),(d16,An) */ +{ CPUFUNC(op_1170_3), 0, 4464 }, /* MOVE.B (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_1178_0), 0, 4472 }, /* MOVE.B (xxx).W,(d16,An) */ +{ CPUFUNC(op_1179_0), 0, 4473 }, /* MOVE.B (xxx).L,(d16,An) */ +{ CPUFUNC(op_117a_0), 0, 4474 }, /* MOVE.B (d16,PC),(d16,An) */ +{ CPUFUNC(op_117b_3), 0, 4475 }, /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_117c_0), 0, 4476 }, /* MOVE.B #.B,(d16,An) */ +{ CPUFUNC(op_1180_3), 0, 4480 }, /* MOVE.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1190_3), 0, 4496 }, /* MOVE.B (An),(d8,An,Xn) */ +{ CPUFUNC(op_1198_3), 0, 4504 }, /* MOVE.B (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_11a0_3), 0, 4512 }, /* MOVE.B -(An),(d8,An,Xn) */ +{ CPUFUNC(op_11a8_3), 0, 4520 }, /* MOVE.B (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_11b0_3), 0, 4528 }, /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11b8_3), 0, 4536 }, /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_11b9_3), 0, 4537 }, /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_11ba_3), 0, 4538 }, /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_11bb_3), 0, 4539 }, /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11bc_3), 0, 4540 }, /* MOVE.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_11c0_0), 0, 4544 }, /* MOVE.B Dn,(xxx).W */ +{ CPUFUNC(op_11d0_0), 0, 4560 }, /* MOVE.B (An),(xxx).W */ +{ CPUFUNC(op_11d8_0), 0, 4568 }, /* MOVE.B (An)+,(xxx).W */ +{ CPUFUNC(op_11e0_0), 0, 4576 }, /* MOVE.B -(An),(xxx).W */ +{ CPUFUNC(op_11e8_0), 0, 4584 }, /* MOVE.B (d16,An),(xxx).W */ +{ CPUFUNC(op_11f0_3), 0, 4592 }, /* MOVE.B (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_11f8_0), 0, 4600 }, /* MOVE.B (xxx).W,(xxx).W */ +{ CPUFUNC(op_11f9_0), 0, 4601 }, /* MOVE.B (xxx).L,(xxx).W */ +{ CPUFUNC(op_11fa_0), 0, 4602 }, /* MOVE.B (d16,PC),(xxx).W */ +{ CPUFUNC(op_11fb_3), 0, 4603 }, /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_11fc_0), 0, 4604 }, /* MOVE.B #.B,(xxx).W */ +{ CPUFUNC(op_13c0_0), 0, 5056 }, /* MOVE.B Dn,(xxx).L */ +{ CPUFUNC(op_13d0_0), 0, 5072 }, /* MOVE.B (An),(xxx).L */ +{ CPUFUNC(op_13d8_0), 0, 5080 }, /* MOVE.B (An)+,(xxx).L */ +{ CPUFUNC(op_13e0_0), 0, 5088 }, /* MOVE.B -(An),(xxx).L */ +{ CPUFUNC(op_13e8_0), 0, 5096 }, /* MOVE.B (d16,An),(xxx).L */ +{ CPUFUNC(op_13f0_3), 0, 5104 }, /* MOVE.B (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_13f8_0), 0, 5112 }, /* MOVE.B (xxx).W,(xxx).L */ +{ CPUFUNC(op_13f9_0), 0, 5113 }, /* MOVE.B (xxx).L,(xxx).L */ +{ CPUFUNC(op_13fa_0), 0, 5114 }, /* MOVE.B (d16,PC),(xxx).L */ +{ CPUFUNC(op_13fb_3), 0, 5115 }, /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_13fc_0), 0, 5116 }, /* MOVE.B #.B,(xxx).L */ +{ CPUFUNC(op_2000_0), 0, 8192 }, /* MOVE.L Dn,Dn */ +{ CPUFUNC(op_2008_0), 0, 8200 }, /* MOVE.L An,Dn */ +{ CPUFUNC(op_2010_0), 0, 8208 }, /* MOVE.L (An),Dn */ +{ CPUFUNC(op_2018_0), 0, 8216 }, /* MOVE.L (An)+,Dn */ +{ CPUFUNC(op_2020_0), 0, 8224 }, /* MOVE.L -(An),Dn */ +{ CPUFUNC(op_2028_0), 0, 8232 }, /* MOVE.L (d16,An),Dn */ +{ CPUFUNC(op_2030_3), 0, 8240 }, /* MOVE.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_2038_0), 0, 8248 }, /* MOVE.L (xxx).W,Dn */ +{ CPUFUNC(op_2039_0), 0, 8249 }, /* MOVE.L (xxx).L,Dn */ +{ CPUFUNC(op_203a_0), 0, 8250 }, /* MOVE.L (d16,PC),Dn */ +{ CPUFUNC(op_203b_3), 0, 8251 }, /* MOVE.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_203c_0), 0, 8252 }, /* MOVE.L #.L,Dn */ +{ CPUFUNC_FF(op_2040_0), 0, 8256 }, /* MOVEA.L Dn,An */ +{ CPUFUNC_FF(op_2048_0), 0, 8264 }, /* MOVEA.L An,An */ +{ CPUFUNC_FF(op_2050_0), 0, 8272 }, /* MOVEA.L (An),An */ +{ CPUFUNC_FF(op_2058_0), 0, 8280 }, /* MOVEA.L (An)+,An */ +{ CPUFUNC_FF(op_2060_0), 0, 8288 }, /* MOVEA.L -(An),An */ +{ CPUFUNC_FF(op_2068_0), 0, 8296 }, /* MOVEA.L (d16,An),An */ +{ CPUFUNC_FF(op_2070_3), 0, 8304 }, /* MOVEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_2078_0), 0, 8312 }, /* MOVEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_2079_0), 0, 8313 }, /* MOVEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_207a_0), 0, 8314 }, /* MOVEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_207b_3), 0, 8315 }, /* MOVEA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_207c_0), 0, 8316 }, /* MOVEA.L #.L,An */ +{ CPUFUNC(op_2080_0), 0, 8320 }, /* MOVE.L Dn,(An) */ +{ CPUFUNC(op_2088_0), 0, 8328 }, /* MOVE.L An,(An) */ +{ CPUFUNC(op_2090_0), 0, 8336 }, /* MOVE.L (An),(An) */ +{ CPUFUNC(op_2098_0), 0, 8344 }, /* MOVE.L (An)+,(An) */ +{ CPUFUNC(op_20a0_0), 0, 8352 }, /* MOVE.L -(An),(An) */ +{ CPUFUNC(op_20a8_0), 0, 8360 }, /* MOVE.L (d16,An),(An) */ +{ CPUFUNC(op_20b0_3), 0, 8368 }, /* MOVE.L (d8,An,Xn),(An) */ +{ CPUFUNC(op_20b8_0), 0, 8376 }, /* MOVE.L (xxx).W,(An) */ +{ CPUFUNC(op_20b9_0), 0, 8377 }, /* MOVE.L (xxx).L,(An) */ +{ CPUFUNC(op_20ba_0), 0, 8378 }, /* MOVE.L (d16,PC),(An) */ +{ CPUFUNC(op_20bb_3), 0, 8379 }, /* MOVE.L (d8,PC,Xn),(An) */ +{ CPUFUNC(op_20bc_0), 0, 8380 }, /* MOVE.L #.L,(An) */ +{ CPUFUNC(op_20c0_0), 0, 8384 }, /* MOVE.L Dn,(An)+ */ +{ CPUFUNC(op_20c8_0), 0, 8392 }, /* MOVE.L An,(An)+ */ +{ CPUFUNC(op_20d0_0), 0, 8400 }, /* MOVE.L (An),(An)+ */ +{ CPUFUNC(op_20d8_0), 0, 8408 }, /* MOVE.L (An)+,(An)+ */ +{ CPUFUNC(op_20e0_0), 0, 8416 }, /* MOVE.L -(An),(An)+ */ +{ CPUFUNC(op_20e8_0), 0, 8424 }, /* MOVE.L (d16,An),(An)+ */ +{ CPUFUNC(op_20f0_3), 0, 8432 }, /* MOVE.L (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_20f8_0), 0, 8440 }, /* MOVE.L (xxx).W,(An)+ */ +{ CPUFUNC(op_20f9_0), 0, 8441 }, /* MOVE.L (xxx).L,(An)+ */ +{ CPUFUNC(op_20fa_0), 0, 8442 }, /* MOVE.L (d16,PC),(An)+ */ +{ CPUFUNC(op_20fb_3), 0, 8443 }, /* MOVE.L (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_20fc_0), 0, 8444 }, /* MOVE.L #.L,(An)+ */ +{ CPUFUNC(op_2100_0), 0, 8448 }, /* MOVE.L Dn,-(An) */ +{ CPUFUNC(op_2108_0), 0, 8456 }, /* MOVE.L An,-(An) */ +{ CPUFUNC(op_2110_0), 0, 8464 }, /* MOVE.L (An),-(An) */ +{ CPUFUNC(op_2118_0), 0, 8472 }, /* MOVE.L (An)+,-(An) */ +{ CPUFUNC(op_2120_0), 0, 8480 }, /* MOVE.L -(An),-(An) */ +{ CPUFUNC(op_2128_0), 0, 8488 }, /* MOVE.L (d16,An),-(An) */ +{ CPUFUNC(op_2130_3), 0, 8496 }, /* MOVE.L (d8,An,Xn),-(An) */ +{ CPUFUNC(op_2138_0), 0, 8504 }, /* MOVE.L (xxx).W,-(An) */ +{ CPUFUNC(op_2139_0), 0, 8505 }, /* MOVE.L (xxx).L,-(An) */ +{ CPUFUNC(op_213a_0), 0, 8506 }, /* MOVE.L (d16,PC),-(An) */ +{ CPUFUNC(op_213b_3), 0, 8507 }, /* MOVE.L (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_213c_0), 0, 8508 }, /* MOVE.L #.L,-(An) */ +{ CPUFUNC(op_2140_0), 0, 8512 }, /* MOVE.L Dn,(d16,An) */ +{ CPUFUNC(op_2148_0), 0, 8520 }, /* MOVE.L An,(d16,An) */ +{ CPUFUNC(op_2150_0), 0, 8528 }, /* MOVE.L (An),(d16,An) */ +{ CPUFUNC(op_2158_0), 0, 8536 }, /* MOVE.L (An)+,(d16,An) */ +{ CPUFUNC(op_2160_0), 0, 8544 }, /* MOVE.L -(An),(d16,An) */ +{ CPUFUNC(op_2168_0), 0, 8552 }, /* MOVE.L (d16,An),(d16,An) */ +{ CPUFUNC(op_2170_3), 0, 8560 }, /* MOVE.L (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_2178_0), 0, 8568 }, /* MOVE.L (xxx).W,(d16,An) */ +{ CPUFUNC(op_2179_0), 0, 8569 }, /* MOVE.L (xxx).L,(d16,An) */ +{ CPUFUNC(op_217a_0), 0, 8570 }, /* MOVE.L (d16,PC),(d16,An) */ +{ CPUFUNC(op_217b_3), 0, 8571 }, /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_217c_0), 0, 8572 }, /* MOVE.L #.L,(d16,An) */ +{ CPUFUNC(op_2180_3), 0, 8576 }, /* MOVE.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_2188_3), 0, 8584 }, /* MOVE.L An,(d8,An,Xn) */ +{ CPUFUNC(op_2190_3), 0, 8592 }, /* MOVE.L (An),(d8,An,Xn) */ +{ CPUFUNC(op_2198_3), 0, 8600 }, /* MOVE.L (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_21a0_3), 0, 8608 }, /* MOVE.L -(An),(d8,An,Xn) */ +{ CPUFUNC(op_21a8_3), 0, 8616 }, /* MOVE.L (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_21b0_3), 0, 8624 }, /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21b8_3), 0, 8632 }, /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_21b9_3), 0, 8633 }, /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_21ba_3), 0, 8634 }, /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_21bb_3), 0, 8635 }, /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21bc_3), 0, 8636 }, /* MOVE.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_21c0_0), 0, 8640 }, /* MOVE.L Dn,(xxx).W */ +{ CPUFUNC(op_21c8_0), 0, 8648 }, /* MOVE.L An,(xxx).W */ +{ CPUFUNC(op_21d0_0), 0, 8656 }, /* MOVE.L (An),(xxx).W */ +{ CPUFUNC(op_21d8_0), 0, 8664 }, /* MOVE.L (An)+,(xxx).W */ +{ CPUFUNC(op_21e0_0), 0, 8672 }, /* MOVE.L -(An),(xxx).W */ +{ CPUFUNC(op_21e8_0), 0, 8680 }, /* MOVE.L (d16,An),(xxx).W */ +{ CPUFUNC(op_21f0_3), 0, 8688 }, /* MOVE.L (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_21f8_0), 0, 8696 }, /* MOVE.L (xxx).W,(xxx).W */ +{ CPUFUNC(op_21f9_0), 0, 8697 }, /* MOVE.L (xxx).L,(xxx).W */ +{ CPUFUNC(op_21fa_0), 0, 8698 }, /* MOVE.L (d16,PC),(xxx).W */ +{ CPUFUNC(op_21fb_3), 0, 8699 }, /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_21fc_0), 0, 8700 }, /* MOVE.L #.L,(xxx).W */ +{ CPUFUNC(op_23c0_0), 0, 9152 }, /* MOVE.L Dn,(xxx).L */ +{ CPUFUNC(op_23c8_0), 0, 9160 }, /* MOVE.L An,(xxx).L */ +{ CPUFUNC(op_23d0_0), 0, 9168 }, /* MOVE.L (An),(xxx).L */ +{ CPUFUNC(op_23d8_0), 0, 9176 }, /* MOVE.L (An)+,(xxx).L */ +{ CPUFUNC(op_23e0_0), 0, 9184 }, /* MOVE.L -(An),(xxx).L */ +{ CPUFUNC(op_23e8_0), 0, 9192 }, /* MOVE.L (d16,An),(xxx).L */ +{ CPUFUNC(op_23f0_3), 0, 9200 }, /* MOVE.L (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_23f8_0), 0, 9208 }, /* MOVE.L (xxx).W,(xxx).L */ +{ CPUFUNC(op_23f9_0), 0, 9209 }, /* MOVE.L (xxx).L,(xxx).L */ +{ CPUFUNC(op_23fa_0), 0, 9210 }, /* MOVE.L (d16,PC),(xxx).L */ +{ CPUFUNC(op_23fb_3), 0, 9211 }, /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_23fc_0), 0, 9212 }, /* MOVE.L #.L,(xxx).L */ +{ CPUFUNC(op_3000_0), 0, 12288 }, /* MOVE.W Dn,Dn */ +{ CPUFUNC(op_3008_0), 0, 12296 }, /* MOVE.W An,Dn */ +{ CPUFUNC(op_3010_0), 0, 12304 }, /* MOVE.W (An),Dn */ +{ CPUFUNC(op_3018_0), 0, 12312 }, /* MOVE.W (An)+,Dn */ +{ CPUFUNC(op_3020_0), 0, 12320 }, /* MOVE.W -(An),Dn */ +{ CPUFUNC(op_3028_0), 0, 12328 }, /* MOVE.W (d16,An),Dn */ +{ CPUFUNC(op_3030_3), 0, 12336 }, /* MOVE.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_3038_0), 0, 12344 }, /* MOVE.W (xxx).W,Dn */ +{ CPUFUNC(op_3039_0), 0, 12345 }, /* MOVE.W (xxx).L,Dn */ +{ CPUFUNC(op_303a_0), 0, 12346 }, /* MOVE.W (d16,PC),Dn */ +{ CPUFUNC(op_303b_3), 0, 12347 }, /* MOVE.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_303c_0), 0, 12348 }, /* MOVE.W #.W,Dn */ +{ CPUFUNC_FF(op_3040_0), 0, 12352 }, /* MOVEA.W Dn,An */ +{ CPUFUNC_FF(op_3048_0), 0, 12360 }, /* MOVEA.W An,An */ +{ CPUFUNC_FF(op_3050_0), 0, 12368 }, /* MOVEA.W (An),An */ +{ CPUFUNC_FF(op_3058_0), 0, 12376 }, /* MOVEA.W (An)+,An */ +{ CPUFUNC_FF(op_3060_0), 0, 12384 }, /* MOVEA.W -(An),An */ +{ CPUFUNC_FF(op_3068_0), 0, 12392 }, /* MOVEA.W (d16,An),An */ +{ CPUFUNC_FF(op_3070_3), 0, 12400 }, /* MOVEA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_3078_0), 0, 12408 }, /* MOVEA.W (xxx).W,An */ +{ CPUFUNC_FF(op_3079_0), 0, 12409 }, /* MOVEA.W (xxx).L,An */ +{ CPUFUNC_FF(op_307a_0), 0, 12410 }, /* MOVEA.W (d16,PC),An */ +{ CPUFUNC_FF(op_307b_3), 0, 12411 }, /* MOVEA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_307c_0), 0, 12412 }, /* MOVEA.W #.W,An */ +{ CPUFUNC(op_3080_0), 0, 12416 }, /* MOVE.W Dn,(An) */ +{ CPUFUNC(op_3088_0), 0, 12424 }, /* MOVE.W An,(An) */ +{ CPUFUNC(op_3090_0), 0, 12432 }, /* MOVE.W (An),(An) */ +{ CPUFUNC(op_3098_0), 0, 12440 }, /* MOVE.W (An)+,(An) */ +{ CPUFUNC(op_30a0_0), 0, 12448 }, /* MOVE.W -(An),(An) */ +{ CPUFUNC(op_30a8_0), 0, 12456 }, /* MOVE.W (d16,An),(An) */ +{ CPUFUNC(op_30b0_3), 0, 12464 }, /* MOVE.W (d8,An,Xn),(An) */ +{ CPUFUNC(op_30b8_0), 0, 12472 }, /* MOVE.W (xxx).W,(An) */ +{ CPUFUNC(op_30b9_0), 0, 12473 }, /* MOVE.W (xxx).L,(An) */ +{ CPUFUNC(op_30ba_0), 0, 12474 }, /* MOVE.W (d16,PC),(An) */ +{ CPUFUNC(op_30bb_3), 0, 12475 }, /* MOVE.W (d8,PC,Xn),(An) */ +{ CPUFUNC(op_30bc_0), 0, 12476 }, /* MOVE.W #.W,(An) */ +{ CPUFUNC(op_30c0_0), 0, 12480 }, /* MOVE.W Dn,(An)+ */ +{ CPUFUNC(op_30c8_0), 0, 12488 }, /* MOVE.W An,(An)+ */ +{ CPUFUNC(op_30d0_0), 0, 12496 }, /* MOVE.W (An),(An)+ */ +{ CPUFUNC(op_30d8_0), 0, 12504 }, /* MOVE.W (An)+,(An)+ */ +{ CPUFUNC(op_30e0_0), 0, 12512 }, /* MOVE.W -(An),(An)+ */ +{ CPUFUNC(op_30e8_0), 0, 12520 }, /* MOVE.W (d16,An),(An)+ */ +{ CPUFUNC(op_30f0_3), 0, 12528 }, /* MOVE.W (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_30f8_0), 0, 12536 }, /* MOVE.W (xxx).W,(An)+ */ +{ CPUFUNC(op_30f9_0), 0, 12537 }, /* MOVE.W (xxx).L,(An)+ */ +{ CPUFUNC(op_30fa_0), 0, 12538 }, /* MOVE.W (d16,PC),(An)+ */ +{ CPUFUNC(op_30fb_3), 0, 12539 }, /* MOVE.W (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_30fc_0), 0, 12540 }, /* MOVE.W #.W,(An)+ */ +{ CPUFUNC(op_3100_0), 0, 12544 }, /* MOVE.W Dn,-(An) */ +{ CPUFUNC(op_3108_0), 0, 12552 }, /* MOVE.W An,-(An) */ +{ CPUFUNC(op_3110_0), 0, 12560 }, /* MOVE.W (An),-(An) */ +{ CPUFUNC(op_3118_0), 0, 12568 }, /* MOVE.W (An)+,-(An) */ +{ CPUFUNC(op_3120_0), 0, 12576 }, /* MOVE.W -(An),-(An) */ +{ CPUFUNC(op_3128_0), 0, 12584 }, /* MOVE.W (d16,An),-(An) */ +{ CPUFUNC(op_3130_3), 0, 12592 }, /* MOVE.W (d8,An,Xn),-(An) */ +{ CPUFUNC(op_3138_0), 0, 12600 }, /* MOVE.W (xxx).W,-(An) */ +{ CPUFUNC(op_3139_0), 0, 12601 }, /* MOVE.W (xxx).L,-(An) */ +{ CPUFUNC(op_313a_0), 0, 12602 }, /* MOVE.W (d16,PC),-(An) */ +{ CPUFUNC(op_313b_3), 0, 12603 }, /* MOVE.W (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_313c_0), 0, 12604 }, /* MOVE.W #.W,-(An) */ +{ CPUFUNC(op_3140_0), 0, 12608 }, /* MOVE.W Dn,(d16,An) */ +{ CPUFUNC(op_3148_0), 0, 12616 }, /* MOVE.W An,(d16,An) */ +{ CPUFUNC(op_3150_0), 0, 12624 }, /* MOVE.W (An),(d16,An) */ +{ CPUFUNC(op_3158_0), 0, 12632 }, /* MOVE.W (An)+,(d16,An) */ +{ CPUFUNC(op_3160_0), 0, 12640 }, /* MOVE.W -(An),(d16,An) */ +{ CPUFUNC(op_3168_0), 0, 12648 }, /* MOVE.W (d16,An),(d16,An) */ +{ CPUFUNC(op_3170_3), 0, 12656 }, /* MOVE.W (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_3178_0), 0, 12664 }, /* MOVE.W (xxx).W,(d16,An) */ +{ CPUFUNC(op_3179_0), 0, 12665 }, /* MOVE.W (xxx).L,(d16,An) */ +{ CPUFUNC(op_317a_0), 0, 12666 }, /* MOVE.W (d16,PC),(d16,An) */ +{ CPUFUNC(op_317b_3), 0, 12667 }, /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_317c_0), 0, 12668 }, /* MOVE.W #.W,(d16,An) */ +{ CPUFUNC(op_3180_3), 0, 12672 }, /* MOVE.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_3188_3), 0, 12680 }, /* MOVE.W An,(d8,An,Xn) */ +{ CPUFUNC(op_3190_3), 0, 12688 }, /* MOVE.W (An),(d8,An,Xn) */ +{ CPUFUNC(op_3198_3), 0, 12696 }, /* MOVE.W (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_31a0_3), 0, 12704 }, /* MOVE.W -(An),(d8,An,Xn) */ +{ CPUFUNC(op_31a8_3), 0, 12712 }, /* MOVE.W (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_31b0_3), 0, 12720 }, /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31b8_3), 0, 12728 }, /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_31b9_3), 0, 12729 }, /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_31ba_3), 0, 12730 }, /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_31bb_3), 0, 12731 }, /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31bc_3), 0, 12732 }, /* MOVE.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_31c0_0), 0, 12736 }, /* MOVE.W Dn,(xxx).W */ +{ CPUFUNC(op_31c8_0), 0, 12744 }, /* MOVE.W An,(xxx).W */ +{ CPUFUNC(op_31d0_0), 0, 12752 }, /* MOVE.W (An),(xxx).W */ +{ CPUFUNC(op_31d8_0), 0, 12760 }, /* MOVE.W (An)+,(xxx).W */ +{ CPUFUNC(op_31e0_0), 0, 12768 }, /* MOVE.W -(An),(xxx).W */ +{ CPUFUNC(op_31e8_0), 0, 12776 }, /* MOVE.W (d16,An),(xxx).W */ +{ CPUFUNC(op_31f0_3), 0, 12784 }, /* MOVE.W (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_31f8_0), 0, 12792 }, /* MOVE.W (xxx).W,(xxx).W */ +{ CPUFUNC(op_31f9_0), 0, 12793 }, /* MOVE.W (xxx).L,(xxx).W */ +{ CPUFUNC(op_31fa_0), 0, 12794 }, /* MOVE.W (d16,PC),(xxx).W */ +{ CPUFUNC(op_31fb_3), 0, 12795 }, /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_31fc_0), 0, 12796 }, /* MOVE.W #.W,(xxx).W */ +{ CPUFUNC(op_33c0_0), 0, 13248 }, /* MOVE.W Dn,(xxx).L */ +{ CPUFUNC(op_33c8_0), 0, 13256 }, /* MOVE.W An,(xxx).L */ +{ CPUFUNC(op_33d0_0), 0, 13264 }, /* MOVE.W (An),(xxx).L */ +{ CPUFUNC(op_33d8_0), 0, 13272 }, /* MOVE.W (An)+,(xxx).L */ +{ CPUFUNC(op_33e0_0), 0, 13280 }, /* MOVE.W -(An),(xxx).L */ +{ CPUFUNC(op_33e8_0), 0, 13288 }, /* MOVE.W (d16,An),(xxx).L */ +{ CPUFUNC(op_33f0_3), 0, 13296 }, /* MOVE.W (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_33f8_0), 0, 13304 }, /* MOVE.W (xxx).W,(xxx).L */ +{ CPUFUNC(op_33f9_0), 0, 13305 }, /* MOVE.W (xxx).L,(xxx).L */ +{ CPUFUNC(op_33fa_0), 0, 13306 }, /* MOVE.W (d16,PC),(xxx).L */ +{ CPUFUNC(op_33fb_3), 0, 13307 }, /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_33fc_0), 0, 13308 }, /* MOVE.W #.W,(xxx).L */ +{ CPUFUNC(op_4000_0), 0, 16384 }, /* NEGX.B Dn */ +{ CPUFUNC(op_4010_0), 0, 16400 }, /* NEGX.B (An) */ +{ CPUFUNC(op_4018_0), 0, 16408 }, /* NEGX.B (An)+ */ +{ CPUFUNC(op_4020_0), 0, 16416 }, /* NEGX.B -(An) */ +{ CPUFUNC(op_4028_0), 0, 16424 }, /* NEGX.B (d16,An) */ +{ CPUFUNC(op_4030_3), 0, 16432 }, /* NEGX.B (d8,An,Xn) */ +{ CPUFUNC(op_4038_0), 0, 16440 }, /* NEGX.B (xxx).W */ +{ CPUFUNC(op_4039_0), 0, 16441 }, /* NEGX.B (xxx).L */ +{ CPUFUNC(op_4040_0), 0, 16448 }, /* NEGX.W Dn */ +{ CPUFUNC(op_4050_0), 0, 16464 }, /* NEGX.W (An) */ +{ CPUFUNC(op_4058_0), 0, 16472 }, /* NEGX.W (An)+ */ +{ CPUFUNC(op_4060_0), 0, 16480 }, /* NEGX.W -(An) */ +{ CPUFUNC(op_4068_0), 0, 16488 }, /* NEGX.W (d16,An) */ +{ CPUFUNC(op_4070_3), 0, 16496 }, /* NEGX.W (d8,An,Xn) */ +{ CPUFUNC(op_4078_0), 0, 16504 }, /* NEGX.W (xxx).W */ +{ CPUFUNC(op_4079_0), 0, 16505 }, /* NEGX.W (xxx).L */ +{ CPUFUNC(op_4080_0), 0, 16512 }, /* NEGX.L Dn */ +{ CPUFUNC(op_4090_0), 0, 16528 }, /* NEGX.L (An) */ +{ CPUFUNC(op_4098_0), 0, 16536 }, /* NEGX.L (An)+ */ +{ CPUFUNC(op_40a0_0), 0, 16544 }, /* NEGX.L -(An) */ +{ CPUFUNC(op_40a8_0), 0, 16552 }, /* NEGX.L (d16,An) */ +{ CPUFUNC(op_40b0_3), 0, 16560 }, /* NEGX.L (d8,An,Xn) */ +{ CPUFUNC(op_40b8_0), 0, 16568 }, /* NEGX.L (xxx).W */ +{ CPUFUNC(op_40b9_0), 0, 16569 }, /* NEGX.L (xxx).L */ +{ CPUFUNC_FF(op_40c0_0), 0, 16576 }, /* MVSR2.W Dn */ +{ CPUFUNC_FF(op_40d0_0), 0, 16592 }, /* MVSR2.W (An) */ +{ CPUFUNC_FF(op_40d8_0), 0, 16600 }, /* MVSR2.W (An)+ */ +{ CPUFUNC_FF(op_40e0_0), 0, 16608 }, /* MVSR2.W -(An) */ +{ CPUFUNC_FF(op_40e8_0), 0, 16616 }, /* MVSR2.W (d16,An) */ +{ CPUFUNC_FF(op_40f0_3), 0, 16624 }, /* MVSR2.W (d8,An,Xn) */ +{ CPUFUNC_FF(op_40f8_0), 0, 16632 }, /* MVSR2.W (xxx).W */ +{ CPUFUNC_FF(op_40f9_0), 0, 16633 }, /* MVSR2.W (xxx).L */ +{ CPUFUNC(op_4100_0), 0, 16640 }, /* CHK.L Dn,Dn */ +{ CPUFUNC(op_4110_0), 0, 16656 }, /* CHK.L (An),Dn */ +{ CPUFUNC(op_4118_0), 0, 16664 }, /* CHK.L (An)+,Dn */ +{ CPUFUNC(op_4120_0), 0, 16672 }, /* CHK.L -(An),Dn */ +{ CPUFUNC(op_4128_0), 0, 16680 }, /* CHK.L (d16,An),Dn */ +{ CPUFUNC(op_4130_3), 0, 16688 }, /* CHK.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_4138_0), 0, 16696 }, /* CHK.L (xxx).W,Dn */ +{ CPUFUNC(op_4139_0), 0, 16697 }, /* CHK.L (xxx).L,Dn */ +{ CPUFUNC(op_413a_0), 0, 16698 }, /* CHK.L (d16,PC),Dn */ +{ CPUFUNC(op_413b_3), 0, 16699 }, /* CHK.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_413c_0), 0, 16700 }, /* CHK.L #.L,Dn */ +{ CPUFUNC(op_4180_0), 0, 16768 }, /* CHK.W Dn,Dn */ +{ CPUFUNC(op_4190_0), 0, 16784 }, /* CHK.W (An),Dn */ +{ CPUFUNC(op_4198_0), 0, 16792 }, /* CHK.W (An)+,Dn */ +{ CPUFUNC(op_41a0_0), 0, 16800 }, /* CHK.W -(An),Dn */ +{ CPUFUNC(op_41a8_0), 0, 16808 }, /* CHK.W (d16,An),Dn */ +{ CPUFUNC(op_41b0_3), 0, 16816 }, /* CHK.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_41b8_0), 0, 16824 }, /* CHK.W (xxx).W,Dn */ +{ CPUFUNC(op_41b9_0), 0, 16825 }, /* CHK.W (xxx).L,Dn */ +{ CPUFUNC(op_41ba_0), 0, 16826 }, /* CHK.W (d16,PC),Dn */ +{ CPUFUNC(op_41bb_3), 0, 16827 }, /* CHK.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_41bc_0), 0, 16828 }, /* CHK.W #.W,Dn */ +{ CPUFUNC_FF(op_41d0_0), 0, 16848 }, /* LEA.L (An),An */ +{ CPUFUNC_FF(op_41e8_0), 0, 16872 }, /* LEA.L (d16,An),An */ +{ CPUFUNC_FF(op_41f0_3), 0, 16880 }, /* LEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_41f8_0), 0, 16888 }, /* LEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_41f9_0), 0, 16889 }, /* LEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_41fa_0), 0, 16890 }, /* LEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_41fb_3), 0, 16891 }, /* LEA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_4200_0), 0, 16896 }, /* CLR.B Dn */ +{ CPUFUNC(op_4210_0), 0, 16912 }, /* CLR.B (An) */ +{ CPUFUNC(op_4218_0), 0, 16920 }, /* CLR.B (An)+ */ +{ CPUFUNC(op_4220_0), 0, 16928 }, /* CLR.B -(An) */ +{ CPUFUNC(op_4228_0), 0, 16936 }, /* CLR.B (d16,An) */ +{ CPUFUNC(op_4230_3), 0, 16944 }, /* CLR.B (d8,An,Xn) */ +{ CPUFUNC(op_4238_0), 0, 16952 }, /* CLR.B (xxx).W */ +{ CPUFUNC(op_4239_0), 0, 16953 }, /* CLR.B (xxx).L */ +{ CPUFUNC(op_4240_0), 0, 16960 }, /* CLR.W Dn */ +{ CPUFUNC(op_4250_0), 0, 16976 }, /* CLR.W (An) */ +{ CPUFUNC(op_4258_0), 0, 16984 }, /* CLR.W (An)+ */ +{ CPUFUNC(op_4260_0), 0, 16992 }, /* CLR.W -(An) */ +{ CPUFUNC(op_4268_0), 0, 17000 }, /* CLR.W (d16,An) */ +{ CPUFUNC(op_4270_3), 0, 17008 }, /* CLR.W (d8,An,Xn) */ +{ CPUFUNC(op_4278_0), 0, 17016 }, /* CLR.W (xxx).W */ +{ CPUFUNC(op_4279_0), 0, 17017 }, /* CLR.W (xxx).L */ +{ CPUFUNC(op_4280_0), 0, 17024 }, /* CLR.L Dn */ +{ CPUFUNC(op_4290_0), 0, 17040 }, /* CLR.L (An) */ +{ CPUFUNC(op_4298_0), 0, 17048 }, /* CLR.L (An)+ */ +{ CPUFUNC(op_42a0_0), 0, 17056 }, /* CLR.L -(An) */ +{ CPUFUNC(op_42a8_0), 0, 17064 }, /* CLR.L (d16,An) */ +{ CPUFUNC(op_42b0_3), 0, 17072 }, /* CLR.L (d8,An,Xn) */ +{ CPUFUNC(op_42b8_0), 0, 17080 }, /* CLR.L (xxx).W */ +{ CPUFUNC(op_42b9_0), 0, 17081 }, /* CLR.L (xxx).L */ +{ CPUFUNC_FF(op_42c0_0), 0, 17088 }, /* MVSR2.B Dn */ +{ CPUFUNC_FF(op_42d0_0), 0, 17104 }, /* MVSR2.B (An) */ +{ CPUFUNC_FF(op_42d8_0), 0, 17112 }, /* MVSR2.B (An)+ */ +{ CPUFUNC_FF(op_42e0_0), 0, 17120 }, /* MVSR2.B -(An) */ +{ CPUFUNC_FF(op_42e8_0), 0, 17128 }, /* MVSR2.B (d16,An) */ +{ CPUFUNC_FF(op_42f0_3), 0, 17136 }, /* MVSR2.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_42f8_0), 0, 17144 }, /* MVSR2.B (xxx).W */ +{ CPUFUNC_FF(op_42f9_0), 0, 17145 }, /* MVSR2.B (xxx).L */ +{ CPUFUNC(op_4400_0), 0, 17408 }, /* NEG.B Dn */ +{ CPUFUNC(op_4410_0), 0, 17424 }, /* NEG.B (An) */ +{ CPUFUNC(op_4418_0), 0, 17432 }, /* NEG.B (An)+ */ +{ CPUFUNC(op_4420_0), 0, 17440 }, /* NEG.B -(An) */ +{ CPUFUNC(op_4428_0), 0, 17448 }, /* NEG.B (d16,An) */ +{ CPUFUNC(op_4430_3), 0, 17456 }, /* NEG.B (d8,An,Xn) */ +{ CPUFUNC(op_4438_0), 0, 17464 }, /* NEG.B (xxx).W */ +{ CPUFUNC(op_4439_0), 0, 17465 }, /* NEG.B (xxx).L */ +{ CPUFUNC(op_4440_0), 0, 17472 }, /* NEG.W Dn */ +{ CPUFUNC(op_4450_0), 0, 17488 }, /* NEG.W (An) */ +{ CPUFUNC(op_4458_0), 0, 17496 }, /* NEG.W (An)+ */ +{ CPUFUNC(op_4460_0), 0, 17504 }, /* NEG.W -(An) */ +{ CPUFUNC(op_4468_0), 0, 17512 }, /* NEG.W (d16,An) */ +{ CPUFUNC(op_4470_3), 0, 17520 }, /* NEG.W (d8,An,Xn) */ +{ CPUFUNC(op_4478_0), 0, 17528 }, /* NEG.W (xxx).W */ +{ CPUFUNC(op_4479_0), 0, 17529 }, /* NEG.W (xxx).L */ +{ CPUFUNC(op_4480_0), 0, 17536 }, /* NEG.L Dn */ +{ CPUFUNC(op_4490_0), 0, 17552 }, /* NEG.L (An) */ +{ CPUFUNC(op_4498_0), 0, 17560 }, /* NEG.L (An)+ */ +{ CPUFUNC(op_44a0_0), 0, 17568 }, /* NEG.L -(An) */ +{ CPUFUNC(op_44a8_0), 0, 17576 }, /* NEG.L (d16,An) */ +{ CPUFUNC(op_44b0_3), 0, 17584 }, /* NEG.L (d8,An,Xn) */ +{ CPUFUNC(op_44b8_0), 0, 17592 }, /* NEG.L (xxx).W */ +{ CPUFUNC(op_44b9_0), 0, 17593 }, /* NEG.L (xxx).L */ +{ CPUFUNC(op_44c0_0), 0, 17600 }, /* MV2SR.B Dn */ +{ CPUFUNC(op_44d0_0), 0, 17616 }, /* MV2SR.B (An) */ +{ CPUFUNC(op_44d8_0), 0, 17624 }, /* MV2SR.B (An)+ */ +{ CPUFUNC(op_44e0_0), 0, 17632 }, /* MV2SR.B -(An) */ +{ CPUFUNC(op_44e8_0), 0, 17640 }, /* MV2SR.B (d16,An) */ +{ CPUFUNC(op_44f0_3), 0, 17648 }, /* MV2SR.B (d8,An,Xn) */ +{ CPUFUNC(op_44f8_0), 0, 17656 }, /* MV2SR.B (xxx).W */ +{ CPUFUNC(op_44f9_0), 0, 17657 }, /* MV2SR.B (xxx).L */ +{ CPUFUNC(op_44fa_0), 0, 17658 }, /* MV2SR.B (d16,PC) */ +{ CPUFUNC(op_44fb_3), 0, 17659 }, /* MV2SR.B (d8,PC,Xn) */ +{ CPUFUNC(op_44fc_0), 0, 17660 }, /* MV2SR.B #.B */ +{ CPUFUNC(op_4600_0), 0, 17920 }, /* NOT.B Dn */ +{ CPUFUNC(op_4610_0), 0, 17936 }, /* NOT.B (An) */ +{ CPUFUNC(op_4618_0), 0, 17944 }, /* NOT.B (An)+ */ +{ CPUFUNC(op_4620_0), 0, 17952 }, /* NOT.B -(An) */ +{ CPUFUNC(op_4628_0), 0, 17960 }, /* NOT.B (d16,An) */ +{ CPUFUNC(op_4630_3), 0, 17968 }, /* NOT.B (d8,An,Xn) */ +{ CPUFUNC(op_4638_0), 0, 17976 }, /* NOT.B (xxx).W */ +{ CPUFUNC(op_4639_0), 0, 17977 }, /* NOT.B (xxx).L */ +{ CPUFUNC(op_4640_0), 0, 17984 }, /* NOT.W Dn */ +{ CPUFUNC(op_4650_0), 0, 18000 }, /* NOT.W (An) */ +{ CPUFUNC(op_4658_0), 0, 18008 }, /* NOT.W (An)+ */ +{ CPUFUNC(op_4660_0), 0, 18016 }, /* NOT.W -(An) */ +{ CPUFUNC(op_4668_0), 0, 18024 }, /* NOT.W (d16,An) */ +{ CPUFUNC(op_4670_3), 0, 18032 }, /* NOT.W (d8,An,Xn) */ +{ CPUFUNC(op_4678_0), 0, 18040 }, /* NOT.W (xxx).W */ +{ CPUFUNC(op_4679_0), 0, 18041 }, /* NOT.W (xxx).L */ +{ CPUFUNC(op_4680_0), 0, 18048 }, /* NOT.L Dn */ +{ CPUFUNC(op_4690_0), 0, 18064 }, /* NOT.L (An) */ +{ CPUFUNC(op_4698_0), 0, 18072 }, /* NOT.L (An)+ */ +{ CPUFUNC(op_46a0_0), 0, 18080 }, /* NOT.L -(An) */ +{ CPUFUNC(op_46a8_0), 0, 18088 }, /* NOT.L (d16,An) */ +{ CPUFUNC(op_46b0_3), 0, 18096 }, /* NOT.L (d8,An,Xn) */ +{ CPUFUNC(op_46b8_0), 0, 18104 }, /* NOT.L (xxx).W */ +{ CPUFUNC(op_46b9_0), 0, 18105 }, /* NOT.L (xxx).L */ +{ CPUFUNC(op_46c0_0), 0, 18112 }, /* MV2SR.W Dn */ +{ CPUFUNC(op_46d0_0), 0, 18128 }, /* MV2SR.W (An) */ +{ CPUFUNC(op_46d8_0), 0, 18136 }, /* MV2SR.W (An)+ */ +{ CPUFUNC(op_46e0_0), 0, 18144 }, /* MV2SR.W -(An) */ +{ CPUFUNC(op_46e8_0), 0, 18152 }, /* MV2SR.W (d16,An) */ +{ CPUFUNC(op_46f0_3), 0, 18160 }, /* MV2SR.W (d8,An,Xn) */ +{ CPUFUNC(op_46f8_0), 0, 18168 }, /* MV2SR.W (xxx).W */ +{ CPUFUNC(op_46f9_0), 0, 18169 }, /* MV2SR.W (xxx).L */ +{ CPUFUNC(op_46fa_0), 0, 18170 }, /* MV2SR.W (d16,PC) */ +{ CPUFUNC(op_46fb_3), 0, 18171 }, /* MV2SR.W (d8,PC,Xn) */ +{ CPUFUNC(op_46fc_0), 0, 18172 }, /* MV2SR.W #.W */ +{ CPUFUNC(op_4800_1), 0, 18432 }, /* NBCD.B Dn */ +{ CPUFUNC(op_4810_1), 0, 18448 }, /* NBCD.B (An) */ +{ CPUFUNC(op_4818_1), 0, 18456 }, /* NBCD.B (An)+ */ +{ CPUFUNC(op_4820_1), 0, 18464 }, /* NBCD.B -(An) */ +{ CPUFUNC(op_4828_1), 0, 18472 }, /* NBCD.B (d16,An) */ +{ CPUFUNC(op_4830_3), 0, 18480 }, /* NBCD.B (d8,An,Xn) */ +{ CPUFUNC(op_4838_1), 0, 18488 }, /* NBCD.B (xxx).W */ +{ CPUFUNC(op_4839_1), 0, 18489 }, /* NBCD.B (xxx).L */ +{ CPUFUNC(op_4840_0), 0, 18496 }, /* SWAP.W Dn */ +{ CPUFUNC_FF(op_4850_0), 0, 18512 }, /* PEA.L (An) */ +{ CPUFUNC_FF(op_4868_0), 0, 18536 }, /* PEA.L (d16,An) */ +{ CPUFUNC_FF(op_4870_3), 0, 18544 }, /* PEA.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4878_0), 0, 18552 }, /* PEA.L (xxx).W */ +{ CPUFUNC_FF(op_4879_0), 0, 18553 }, /* PEA.L (xxx).L */ +{ CPUFUNC_FF(op_487a_0), 0, 18554 }, /* PEA.L (d16,PC) */ +{ CPUFUNC_FF(op_487b_3), 0, 18555 }, /* PEA.L (d8,PC,Xn) */ +{ CPUFUNC(op_4880_0), 0, 18560 }, /* EXT.W Dn */ +{ CPUFUNC_FF(op_4890_0), 0, 18576 }, /* MVMLE.W #.W,(An) */ +{ CPUFUNC_FF(op_48a0_0), 0, 18592 }, /* MVMLE.W #.W,-(An) */ +{ CPUFUNC_FF(op_48a8_0), 0, 18600 }, /* MVMLE.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_48b0_3), 0, 18608 }, /* MVMLE.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48b8_0), 0, 18616 }, /* MVMLE.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_48b9_0), 0, 18617 }, /* MVMLE.W #.W,(xxx).L */ +{ CPUFUNC(op_48c0_0), 0, 18624 }, /* EXT.L Dn */ +{ CPUFUNC_FF(op_48d0_0), 0, 18640 }, /* MVMLE.L #.W,(An) */ +{ CPUFUNC_FF(op_48e0_0), 0, 18656 }, /* MVMLE.L #.W,-(An) */ +{ CPUFUNC_FF(op_48e8_0), 0, 18664 }, /* MVMLE.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_48f0_3), 0, 18672 }, /* MVMLE.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48f8_0), 0, 18680 }, /* MVMLE.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_48f9_0), 0, 18681 }, /* MVMLE.L #.W,(xxx).L */ +{ CPUFUNC(op_49c0_0), 0, 18880 }, /* EXT.B Dn */ +{ CPUFUNC(op_4a00_0), 0, 18944 }, /* TST.B Dn */ +{ CPUFUNC(op_4a10_0), 0, 18960 }, /* TST.B (An) */ +{ CPUFUNC(op_4a18_0), 0, 18968 }, /* TST.B (An)+ */ +{ CPUFUNC(op_4a20_0), 0, 18976 }, /* TST.B -(An) */ +{ CPUFUNC(op_4a28_0), 0, 18984 }, /* TST.B (d16,An) */ +{ CPUFUNC(op_4a30_3), 0, 18992 }, /* TST.B (d8,An,Xn) */ +{ CPUFUNC(op_4a38_0), 0, 19000 }, /* TST.B (xxx).W */ +{ CPUFUNC(op_4a39_0), 0, 19001 }, /* TST.B (xxx).L */ +{ CPUFUNC(op_4a3a_0), 0, 19002 }, /* TST.B (d16,PC) */ +{ CPUFUNC(op_4a3b_3), 0, 19003 }, /* TST.B (d8,PC,Xn) */ +{ CPUFUNC(op_4a3c_0), 0, 19004 }, /* TST.B #.B */ +{ CPUFUNC(op_4a40_0), 0, 19008 }, /* TST.W Dn */ +{ CPUFUNC(op_4a48_0), 0, 19016 }, /* TST.W An */ +{ CPUFUNC(op_4a50_0), 0, 19024 }, /* TST.W (An) */ +{ CPUFUNC(op_4a58_0), 0, 19032 }, /* TST.W (An)+ */ +{ CPUFUNC(op_4a60_0), 0, 19040 }, /* TST.W -(An) */ +{ CPUFUNC(op_4a68_0), 0, 19048 }, /* TST.W (d16,An) */ +{ CPUFUNC(op_4a70_3), 0, 19056 }, /* TST.W (d8,An,Xn) */ +{ CPUFUNC(op_4a78_0), 0, 19064 }, /* TST.W (xxx).W */ +{ CPUFUNC(op_4a79_0), 0, 19065 }, /* TST.W (xxx).L */ +{ CPUFUNC(op_4a7a_0), 0, 19066 }, /* TST.W (d16,PC) */ +{ CPUFUNC(op_4a7b_3), 0, 19067 }, /* TST.W (d8,PC,Xn) */ +{ CPUFUNC(op_4a7c_0), 0, 19068 }, /* TST.W #.W */ +{ CPUFUNC(op_4a80_0), 0, 19072 }, /* TST.L Dn */ +{ CPUFUNC(op_4a88_0), 0, 19080 }, /* TST.L An */ +{ CPUFUNC(op_4a90_0), 0, 19088 }, /* TST.L (An) */ +{ CPUFUNC(op_4a98_0), 0, 19096 }, /* TST.L (An)+ */ +{ CPUFUNC(op_4aa0_0), 0, 19104 }, /* TST.L -(An) */ +{ CPUFUNC(op_4aa8_0), 0, 19112 }, /* TST.L (d16,An) */ +{ CPUFUNC(op_4ab0_3), 0, 19120 }, /* TST.L (d8,An,Xn) */ +{ CPUFUNC(op_4ab8_0), 0, 19128 }, /* TST.L (xxx).W */ +{ CPUFUNC(op_4ab9_0), 0, 19129 }, /* TST.L (xxx).L */ +{ CPUFUNC(op_4aba_0), 0, 19130 }, /* TST.L (d16,PC) */ +{ CPUFUNC(op_4abb_3), 0, 19131 }, /* TST.L (d8,PC,Xn) */ +{ CPUFUNC(op_4abc_0), 0, 19132 }, /* TST.L #.L */ +{ CPUFUNC(op_4ac0_0), 0, 19136 }, /* TAS.B Dn */ +{ CPUFUNC(op_4ad0_0), 0, 19152 }, /* TAS.B (An) */ +{ CPUFUNC(op_4ad8_0), 0, 19160 }, /* TAS.B (An)+ */ +{ CPUFUNC(op_4ae0_0), 0, 19168 }, /* TAS.B -(An) */ +{ CPUFUNC(op_4ae8_0), 0, 19176 }, /* TAS.B (d16,An) */ +{ CPUFUNC(op_4af0_3), 0, 19184 }, /* TAS.B (d8,An,Xn) */ +{ CPUFUNC(op_4af8_0), 0, 19192 }, /* TAS.B (xxx).W */ +{ CPUFUNC(op_4af9_0), 0, 19193 }, /* TAS.B (xxx).L */ +{ CPUFUNC_FF(op_4c90_0), 0, 19600 }, /* MVMEL.W #.W,(An) */ +{ CPUFUNC_FF(op_4c98_0), 0, 19608 }, /* MVMEL.W #.W,(An)+ */ +{ CPUFUNC_FF(op_4ca8_0), 0, 19624 }, /* MVMEL.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cb0_3), 0, 19632 }, /* MVMEL.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cb8_0), 0, 19640 }, /* MVMEL.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cb9_0), 0, 19641 }, /* MVMEL.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cba_0), 0, 19642 }, /* MVMEL.W #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cbb_3), 0, 19643 }, /* MVMEL.W #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4cd0_0), 0, 19664 }, /* MVMEL.L #.W,(An) */ +{ CPUFUNC_FF(op_4cd8_0), 0, 19672 }, /* MVMEL.L #.W,(An)+ */ +{ CPUFUNC_FF(op_4ce8_0), 0, 19688 }, /* MVMEL.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cf0_3), 0, 19696 }, /* MVMEL.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cf8_0), 0, 19704 }, /* MVMEL.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cf9_0), 0, 19705 }, /* MVMEL.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cfa_0), 0, 19706 }, /* MVMEL.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cfb_3), 0, 19707 }, /* MVMEL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4e40_0), 0, 20032 }, /* TRAP.L # */ +{ CPUFUNC_FF(op_4e50_0), 0, 20048 }, /* LINK.W An,#.W */ +{ CPUFUNC_FF(op_4e58_0), 0, 20056 }, /* UNLK.L An */ +{ CPUFUNC_FF(op_4e60_0), 0, 20064 }, /* MVR2USP.L An */ +{ CPUFUNC_FF(op_4e68_0), 0, 20072 }, /* MVUSP2R.L An */ +{ CPUFUNC_FF(op_4e70_0), 0, 20080 }, /* RESET.L */ +{ CPUFUNC_FF(op_4e71_0), 0, 20081 }, /* NOP.L */ +{ CPUFUNC(op_4e72_0), 0, 20082 }, /* STOP.L #.W */ +{ CPUFUNC(op_4e73_0), 0, 20083 }, /* RTE.L */ +{ CPUFUNC_FF(op_4e74_0), 0, 20084 }, /* RTD.L #.W */ +{ CPUFUNC_FF(op_4e75_0), 0, 20085 }, /* RTS.L */ +{ CPUFUNC_FF(op_4e76_0), 0, 20086 }, /* TRAPV.L */ +{ CPUFUNC(op_4e77_0), 0, 20087 }, /* RTR.L */ +{ CPUFUNC_FF(op_4e7a_0), 0, 20090 }, /* MOVEC2.L #.W */ +{ CPUFUNC_FF(op_4e7b_0), 0, 20091 }, /* MOVE2C.L #.W */ +{ CPUFUNC_FF(op_4e90_0), 0, 20112 }, /* JSR.L (An) */ +{ CPUFUNC_FF(op_4ea8_0), 0, 20136 }, /* JSR.L (d16,An) */ +{ CPUFUNC_FF(op_4eb0_3), 0, 20144 }, /* JSR.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4eb8_0), 0, 20152 }, /* JSR.L (xxx).W */ +{ CPUFUNC_FF(op_4eb9_0), 0, 20153 }, /* JSR.L (xxx).L */ +{ CPUFUNC_FF(op_4eba_0), 0, 20154 }, /* JSR.L (d16,PC) */ +{ CPUFUNC_FF(op_4ebb_3), 0, 20155 }, /* JSR.L (d8,PC,Xn) */ +{ CPUFUNC_FF(op_4ed0_0), 0, 20176 }, /* JMP.L (An) */ +{ CPUFUNC_FF(op_4ee8_0), 0, 20200 }, /* JMP.L (d16,An) */ +{ CPUFUNC_FF(op_4ef0_3), 0, 20208 }, /* JMP.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4ef8_0), 0, 20216 }, /* JMP.L (xxx).W */ +{ CPUFUNC_FF(op_4ef9_0), 0, 20217 }, /* JMP.L (xxx).L */ +{ CPUFUNC_FF(op_4efa_0), 0, 20218 }, /* JMP.L (d16,PC) */ +{ CPUFUNC_FF(op_4efb_3), 0, 20219 }, /* JMP.L (d8,PC,Xn) */ +{ CPUFUNC(op_5000_0), 0, 20480 }, /* ADD.B #,Dn */ +{ CPUFUNC(op_5010_0), 0, 20496 }, /* ADD.B #,(An) */ +{ CPUFUNC(op_5018_0), 0, 20504 }, /* ADD.B #,(An)+ */ +{ CPUFUNC(op_5020_0), 0, 20512 }, /* ADD.B #,-(An) */ +{ CPUFUNC(op_5028_0), 0, 20520 }, /* ADD.B #,(d16,An) */ +{ CPUFUNC(op_5030_3), 0, 20528 }, /* ADD.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5038_0), 0, 20536 }, /* ADD.B #,(xxx).W */ +{ CPUFUNC(op_5039_0), 0, 20537 }, /* ADD.B #,(xxx).L */ +{ CPUFUNC(op_5040_0), 0, 20544 }, /* ADD.W #,Dn */ +{ CPUFUNC_FF(op_5048_0), 0, 20552 }, /* ADDA.W #,An */ +{ CPUFUNC(op_5050_0), 0, 20560 }, /* ADD.W #,(An) */ +{ CPUFUNC(op_5058_0), 0, 20568 }, /* ADD.W #,(An)+ */ +{ CPUFUNC(op_5060_0), 0, 20576 }, /* ADD.W #,-(An) */ +{ CPUFUNC(op_5068_0), 0, 20584 }, /* ADD.W #,(d16,An) */ +{ CPUFUNC(op_5070_3), 0, 20592 }, /* ADD.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5078_0), 0, 20600 }, /* ADD.W #,(xxx).W */ +{ CPUFUNC(op_5079_0), 0, 20601 }, /* ADD.W #,(xxx).L */ +{ CPUFUNC(op_5080_0), 0, 20608 }, /* ADD.L #,Dn */ +{ CPUFUNC_FF(op_5088_0), 0, 20616 }, /* ADDA.L #,An */ +{ CPUFUNC(op_5090_0), 0, 20624 }, /* ADD.L #,(An) */ +{ CPUFUNC(op_5098_0), 0, 20632 }, /* ADD.L #,(An)+ */ +{ CPUFUNC(op_50a0_0), 0, 20640 }, /* ADD.L #,-(An) */ +{ CPUFUNC(op_50a8_0), 0, 20648 }, /* ADD.L #,(d16,An) */ +{ CPUFUNC(op_50b0_3), 0, 20656 }, /* ADD.L #,(d8,An,Xn) */ +{ CPUFUNC(op_50b8_0), 0, 20664 }, /* ADD.L #,(xxx).W */ +{ CPUFUNC(op_50b9_0), 0, 20665 }, /* ADD.L #,(xxx).L */ +{ CPUFUNC_FF(op_50c0_0), 0, 20672 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_50c8_0), 0, 20680 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_50d0_0), 0, 20688 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_50d8_0), 0, 20696 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_50e0_0), 0, 20704 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_50e8_0), 0, 20712 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_50f0_3), 0, 20720 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_50f8_0), 0, 20728 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_50f9_0), 0, 20729 }, /* Scc.B (xxx).L */ +{ CPUFUNC(op_5100_0), 0, 20736 }, /* SUB.B #,Dn */ +{ CPUFUNC(op_5110_0), 0, 20752 }, /* SUB.B #,(An) */ +{ CPUFUNC(op_5118_0), 0, 20760 }, /* SUB.B #,(An)+ */ +{ CPUFUNC(op_5120_0), 0, 20768 }, /* SUB.B #,-(An) */ +{ CPUFUNC(op_5128_0), 0, 20776 }, /* SUB.B #,(d16,An) */ +{ CPUFUNC(op_5130_3), 0, 20784 }, /* SUB.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5138_0), 0, 20792 }, /* SUB.B #,(xxx).W */ +{ CPUFUNC(op_5139_0), 0, 20793 }, /* SUB.B #,(xxx).L */ +{ CPUFUNC(op_5140_0), 0, 20800 }, /* SUB.W #,Dn */ +{ CPUFUNC_FF(op_5148_0), 0, 20808 }, /* SUBA.W #,An */ +{ CPUFUNC(op_5150_0), 0, 20816 }, /* SUB.W #,(An) */ +{ CPUFUNC(op_5158_0), 0, 20824 }, /* SUB.W #,(An)+ */ +{ CPUFUNC(op_5160_0), 0, 20832 }, /* SUB.W #,-(An) */ +{ CPUFUNC(op_5168_0), 0, 20840 }, /* SUB.W #,(d16,An) */ +{ CPUFUNC(op_5170_3), 0, 20848 }, /* SUB.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5178_0), 0, 20856 }, /* SUB.W #,(xxx).W */ +{ CPUFUNC(op_5179_0), 0, 20857 }, /* SUB.W #,(xxx).L */ +{ CPUFUNC(op_5180_0), 0, 20864 }, /* SUB.L #,Dn */ +{ CPUFUNC_FF(op_5188_0), 0, 20872 }, /* SUBA.L #,An */ +{ CPUFUNC(op_5190_0), 0, 20880 }, /* SUB.L #,(An) */ +{ CPUFUNC(op_5198_0), 0, 20888 }, /* SUB.L #,(An)+ */ +{ CPUFUNC(op_51a0_0), 0, 20896 }, /* SUB.L #,-(An) */ +{ CPUFUNC(op_51a8_0), 0, 20904 }, /* SUB.L #,(d16,An) */ +{ CPUFUNC(op_51b0_3), 0, 20912 }, /* SUB.L #,(d8,An,Xn) */ +{ CPUFUNC(op_51b8_0), 0, 20920 }, /* SUB.L #,(xxx).W */ +{ CPUFUNC(op_51b9_0), 0, 20921 }, /* SUB.L #,(xxx).L */ +{ CPUFUNC_FF(op_51c0_0), 0, 20928 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_51c8_0), 0, 20936 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_51d0_0), 0, 20944 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_51d8_0), 0, 20952 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_51e0_0), 0, 20960 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_51e8_0), 0, 20968 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_51f0_3), 0, 20976 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_51f8_0), 0, 20984 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_51f9_0), 0, 20985 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_52c0_0), 0, 21184 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_52c8_0), 0, 21192 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_52d0_0), 0, 21200 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_52d8_0), 0, 21208 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_52e0_0), 0, 21216 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_52e8_0), 0, 21224 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_52f0_3), 0, 21232 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_52f8_0), 0, 21240 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_52f9_0), 0, 21241 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_53c0_0), 0, 21440 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_53c8_0), 0, 21448 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_53d0_0), 0, 21456 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_53d8_0), 0, 21464 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_53e0_0), 0, 21472 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_53e8_0), 0, 21480 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_53f0_3), 0, 21488 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_53f8_0), 0, 21496 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_53f9_0), 0, 21497 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_54c0_0), 0, 21696 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_54c8_0), 0, 21704 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_54d0_0), 0, 21712 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_54d8_0), 0, 21720 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_54e0_0), 0, 21728 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_54e8_0), 0, 21736 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_54f0_3), 0, 21744 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_54f8_0), 0, 21752 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_54f9_0), 0, 21753 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_55c0_0), 0, 21952 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_55c8_0), 0, 21960 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_55d0_0), 0, 21968 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_55d8_0), 0, 21976 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_55e0_0), 0, 21984 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_55e8_0), 0, 21992 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_55f0_3), 0, 22000 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_55f8_0), 0, 22008 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_55f9_0), 0, 22009 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_56c0_0), 0, 22208 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_56c8_0), 0, 22216 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_56d0_0), 0, 22224 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_56d8_0), 0, 22232 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_56e0_0), 0, 22240 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_56e8_0), 0, 22248 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_56f0_3), 0, 22256 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_56f8_0), 0, 22264 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_56f9_0), 0, 22265 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_57c0_0), 0, 22464 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_57c8_0), 0, 22472 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_57d0_0), 0, 22480 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_57d8_0), 0, 22488 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_57e0_0), 0, 22496 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_57e8_0), 0, 22504 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_57f0_3), 0, 22512 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_57f8_0), 0, 22520 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_57f9_0), 0, 22521 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_58c0_0), 0, 22720 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_58c8_0), 0, 22728 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_58d0_0), 0, 22736 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_58d8_0), 0, 22744 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_58e0_0), 0, 22752 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_58e8_0), 0, 22760 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_58f0_3), 0, 22768 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_58f8_0), 0, 22776 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_58f9_0), 0, 22777 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_59c0_0), 0, 22976 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_59c8_0), 0, 22984 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_59d0_0), 0, 22992 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_59d8_0), 0, 23000 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_59e0_0), 0, 23008 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_59e8_0), 0, 23016 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_59f0_3), 0, 23024 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_59f8_0), 0, 23032 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_59f9_0), 0, 23033 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ac0_0), 0, 23232 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ac8_0), 0, 23240 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ad0_0), 0, 23248 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ad8_0), 0, 23256 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ae0_0), 0, 23264 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ae8_0), 0, 23272 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5af0_3), 0, 23280 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5af8_0), 0, 23288 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5af9_0), 0, 23289 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5bc0_0), 0, 23488 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5bc8_0), 0, 23496 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5bd0_0), 0, 23504 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5bd8_0), 0, 23512 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5be0_0), 0, 23520 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5be8_0), 0, 23528 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5bf0_3), 0, 23536 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5bf8_0), 0, 23544 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5bf9_0), 0, 23545 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5cc0_0), 0, 23744 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5cc8_0), 0, 23752 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5cd0_0), 0, 23760 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5cd8_0), 0, 23768 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ce0_0), 0, 23776 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ce8_0), 0, 23784 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5cf0_3), 0, 23792 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5cf8_0), 0, 23800 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5cf9_0), 0, 23801 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5dc0_0), 0, 24000 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5dc8_0), 0, 24008 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5dd0_0), 0, 24016 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5dd8_0), 0, 24024 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5de0_0), 0, 24032 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5de8_0), 0, 24040 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5df0_3), 0, 24048 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5df8_0), 0, 24056 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5df9_0), 0, 24057 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ec0_0), 0, 24256 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ec8_0), 0, 24264 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ed0_0), 0, 24272 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ed8_0), 0, 24280 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ee0_0), 0, 24288 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ee8_0), 0, 24296 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ef0_3), 0, 24304 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ef8_0), 0, 24312 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ef9_0), 0, 24313 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5fc0_0), 0, 24512 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5fc8_0), 0, 24520 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5fd0_0), 0, 24528 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5fd8_0), 0, 24536 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5fe0_0), 0, 24544 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5fe8_0), 0, 24552 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ff0_3), 0, 24560 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ff8_0), 0, 24568 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ff9_0), 0, 24569 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_6000_0), 0, 24576 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6001_0), 0, 24577 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_60ff_3), 0, 24831 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6100_0), 0, 24832 }, /* BSR.W #.W */ +{ CPUFUNC_FF(op_6101_0), 0, 24833 }, /* BSR.B # */ +{ CPUFUNC_FF(op_61ff_0), 0, 25087 }, /* BSR.L #.L */ +{ CPUFUNC_FF(op_6200_0), 0, 25088 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6201_0), 0, 25089 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_62ff_3), 0, 25343 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6300_0), 0, 25344 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6301_0), 0, 25345 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_63ff_3), 0, 25599 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6400_0), 0, 25600 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6401_0), 0, 25601 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_64ff_3), 0, 25855 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6500_0), 0, 25856 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6501_0), 0, 25857 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_65ff_3), 0, 26111 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6600_0), 0, 26112 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6601_0), 0, 26113 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_66ff_3), 0, 26367 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6700_0), 0, 26368 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6701_0), 0, 26369 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_67ff_3), 0, 26623 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6800_0), 0, 26624 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6801_0), 0, 26625 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_68ff_3), 0, 26879 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6900_0), 0, 26880 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6901_0), 0, 26881 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_69ff_3), 0, 27135 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6a00_0), 0, 27136 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6a01_0), 0, 27137 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6aff_3), 0, 27391 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6b00_0), 0, 27392 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6b01_0), 0, 27393 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6bff_3), 0, 27647 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6c00_0), 0, 27648 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6c01_0), 0, 27649 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6cff_3), 0, 27903 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6d00_0), 0, 27904 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6d01_0), 0, 27905 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6dff_3), 0, 28159 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6e00_0), 0, 28160 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6e01_0), 0, 28161 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6eff_3), 0, 28415 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6f00_0), 0, 28416 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6f01_0), 0, 28417 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6fff_3), 0, 28671 }, /* Bcc.L #.L */ +{ CPUFUNC(op_7000_0), 0, 28672 }, /* MOVE.L #,Dn */ +{ CPUFUNC_FF(op_7100_0), 0, 28928 }, /* EMULOP_RETURN.L */ +{ CPUFUNC_FF(op_7101_0), 0, 28929 }, /* EMULOP.L # */ +{ CPUFUNC(op_8000_0), 0, 32768 }, /* OR.B Dn,Dn */ +{ CPUFUNC(op_8010_0), 0, 32784 }, /* OR.B (An),Dn */ +{ CPUFUNC(op_8018_0), 0, 32792 }, /* OR.B (An)+,Dn */ +{ CPUFUNC(op_8020_0), 0, 32800 }, /* OR.B -(An),Dn */ +{ CPUFUNC(op_8028_0), 0, 32808 }, /* OR.B (d16,An),Dn */ +{ CPUFUNC(op_8030_3), 0, 32816 }, /* OR.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_8038_0), 0, 32824 }, /* OR.B (xxx).W,Dn */ +{ CPUFUNC(op_8039_0), 0, 32825 }, /* OR.B (xxx).L,Dn */ +{ CPUFUNC(op_803a_0), 0, 32826 }, /* OR.B (d16,PC),Dn */ +{ CPUFUNC(op_803b_3), 0, 32827 }, /* OR.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_803c_0), 0, 32828 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_8040_0), 0, 32832 }, /* OR.W Dn,Dn */ +{ CPUFUNC(op_8050_0), 0, 32848 }, /* OR.W (An),Dn */ +{ CPUFUNC(op_8058_0), 0, 32856 }, /* OR.W (An)+,Dn */ +{ CPUFUNC(op_8060_0), 0, 32864 }, /* OR.W -(An),Dn */ +{ CPUFUNC(op_8068_0), 0, 32872 }, /* OR.W (d16,An),Dn */ +{ CPUFUNC(op_8070_3), 0, 32880 }, /* OR.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_8078_0), 0, 32888 }, /* OR.W (xxx).W,Dn */ +{ CPUFUNC(op_8079_0), 0, 32889 }, /* OR.W (xxx).L,Dn */ +{ CPUFUNC(op_807a_0), 0, 32890 }, /* OR.W (d16,PC),Dn */ +{ CPUFUNC(op_807b_3), 0, 32891 }, /* OR.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_807c_0), 0, 32892 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_8080_0), 0, 32896 }, /* OR.L Dn,Dn */ +{ CPUFUNC(op_8090_0), 0, 32912 }, /* OR.L (An),Dn */ +{ CPUFUNC(op_8098_0), 0, 32920 }, /* OR.L (An)+,Dn */ +{ CPUFUNC(op_80a0_0), 0, 32928 }, /* OR.L -(An),Dn */ +{ CPUFUNC(op_80a8_0), 0, 32936 }, /* OR.L (d16,An),Dn */ +{ CPUFUNC(op_80b0_3), 0, 32944 }, /* OR.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_80b8_0), 0, 32952 }, /* OR.L (xxx).W,Dn */ +{ CPUFUNC(op_80b9_0), 0, 32953 }, /* OR.L (xxx).L,Dn */ +{ CPUFUNC(op_80ba_0), 0, 32954 }, /* OR.L (d16,PC),Dn */ +{ CPUFUNC(op_80bb_3), 0, 32955 }, /* OR.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80bc_0), 0, 32956 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_80c0_0), 0, 32960 }, /* DIVU.W Dn,Dn */ +{ CPUFUNC(op_80d0_0), 0, 32976 }, /* DIVU.W (An),Dn */ +{ CPUFUNC(op_80d8_0), 0, 32984 }, /* DIVU.W (An)+,Dn */ +{ CPUFUNC(op_80e0_0), 0, 32992 }, /* DIVU.W -(An),Dn */ +{ CPUFUNC(op_80e8_0), 0, 33000 }, /* DIVU.W (d16,An),Dn */ +{ CPUFUNC(op_80f0_3), 0, 33008 }, /* DIVU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_80f8_0), 0, 33016 }, /* DIVU.W (xxx).W,Dn */ +{ CPUFUNC(op_80f9_0), 0, 33017 }, /* DIVU.W (xxx).L,Dn */ +{ CPUFUNC(op_80fa_0), 0, 33018 }, /* DIVU.W (d16,PC),Dn */ +{ CPUFUNC(op_80fb_3), 0, 33019 }, /* DIVU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80fc_0), 0, 33020 }, /* DIVU.W #.W,Dn */ +{ CPUFUNC(op_8100_1), 0, 33024 }, /* SBCD.B Dn,Dn */ +{ CPUFUNC(op_8108_1), 0, 33032 }, /* SBCD.B -(An),-(An) */ +{ CPUFUNC(op_8110_0), 0, 33040 }, /* OR.B Dn,(An) */ +{ CPUFUNC(op_8118_0), 0, 33048 }, /* OR.B Dn,(An)+ */ +{ CPUFUNC(op_8120_0), 0, 33056 }, /* OR.B Dn,-(An) */ +{ CPUFUNC(op_8128_0), 0, 33064 }, /* OR.B Dn,(d16,An) */ +{ CPUFUNC(op_8130_3), 0, 33072 }, /* OR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8138_0), 0, 33080 }, /* OR.B Dn,(xxx).W */ +{ CPUFUNC(op_8139_0), 0, 33081 }, /* OR.B Dn,(xxx).L */ +{ CPUFUNC(op_8150_0), 0, 33104 }, /* OR.W Dn,(An) */ +{ CPUFUNC(op_8158_0), 0, 33112 }, /* OR.W Dn,(An)+ */ +{ CPUFUNC(op_8160_0), 0, 33120 }, /* OR.W Dn,-(An) */ +{ CPUFUNC(op_8168_0), 0, 33128 }, /* OR.W Dn,(d16,An) */ +{ CPUFUNC(op_8170_3), 0, 33136 }, /* OR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8178_0), 0, 33144 }, /* OR.W Dn,(xxx).W */ +{ CPUFUNC(op_8179_0), 0, 33145 }, /* OR.W Dn,(xxx).L */ +{ CPUFUNC(op_8190_0), 0, 33168 }, /* OR.L Dn,(An) */ +{ CPUFUNC(op_8198_0), 0, 33176 }, /* OR.L Dn,(An)+ */ +{ CPUFUNC(op_81a0_0), 0, 33184 }, /* OR.L Dn,-(An) */ +{ CPUFUNC(op_81a8_0), 0, 33192 }, /* OR.L Dn,(d16,An) */ +{ CPUFUNC(op_81b0_3), 0, 33200 }, /* OR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_81b8_0), 0, 33208 }, /* OR.L Dn,(xxx).W */ +{ CPUFUNC(op_81b9_0), 0, 33209 }, /* OR.L Dn,(xxx).L */ +{ CPUFUNC(op_81c0_0), 0, 33216 }, /* DIVS.W Dn,Dn */ +{ CPUFUNC(op_81d0_0), 0, 33232 }, /* DIVS.W (An),Dn */ +{ CPUFUNC(op_81d8_0), 0, 33240 }, /* DIVS.W (An)+,Dn */ +{ CPUFUNC(op_81e0_0), 0, 33248 }, /* DIVS.W -(An),Dn */ +{ CPUFUNC(op_81e8_0), 0, 33256 }, /* DIVS.W (d16,An),Dn */ +{ CPUFUNC(op_81f0_3), 0, 33264 }, /* DIVS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_81f8_0), 0, 33272 }, /* DIVS.W (xxx).W,Dn */ +{ CPUFUNC(op_81f9_0), 0, 33273 }, /* DIVS.W (xxx).L,Dn */ +{ CPUFUNC(op_81fa_0), 0, 33274 }, /* DIVS.W (d16,PC),Dn */ +{ CPUFUNC(op_81fb_3), 0, 33275 }, /* DIVS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_81fc_0), 0, 33276 }, /* DIVS.W #.W,Dn */ +{ CPUFUNC(op_9000_0), 0, 36864 }, /* SUB.B Dn,Dn */ +{ CPUFUNC(op_9010_0), 0, 36880 }, /* SUB.B (An),Dn */ +{ CPUFUNC(op_9018_0), 0, 36888 }, /* SUB.B (An)+,Dn */ +{ CPUFUNC(op_9020_0), 0, 36896 }, /* SUB.B -(An),Dn */ +{ CPUFUNC(op_9028_0), 0, 36904 }, /* SUB.B (d16,An),Dn */ +{ CPUFUNC(op_9030_3), 0, 36912 }, /* SUB.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_9038_0), 0, 36920 }, /* SUB.B (xxx).W,Dn */ +{ CPUFUNC(op_9039_0), 0, 36921 }, /* SUB.B (xxx).L,Dn */ +{ CPUFUNC(op_903a_0), 0, 36922 }, /* SUB.B (d16,PC),Dn */ +{ CPUFUNC(op_903b_3), 0, 36923 }, /* SUB.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_903c_0), 0, 36924 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_9040_0), 0, 36928 }, /* SUB.W Dn,Dn */ +{ CPUFUNC(op_9048_0), 0, 36936 }, /* SUB.W An,Dn */ +{ CPUFUNC(op_9050_0), 0, 36944 }, /* SUB.W (An),Dn */ +{ CPUFUNC(op_9058_0), 0, 36952 }, /* SUB.W (An)+,Dn */ +{ CPUFUNC(op_9060_0), 0, 36960 }, /* SUB.W -(An),Dn */ +{ CPUFUNC(op_9068_0), 0, 36968 }, /* SUB.W (d16,An),Dn */ +{ CPUFUNC(op_9070_3), 0, 36976 }, /* SUB.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_9078_0), 0, 36984 }, /* SUB.W (xxx).W,Dn */ +{ CPUFUNC(op_9079_0), 0, 36985 }, /* SUB.W (xxx).L,Dn */ +{ CPUFUNC(op_907a_0), 0, 36986 }, /* SUB.W (d16,PC),Dn */ +{ CPUFUNC(op_907b_3), 0, 36987 }, /* SUB.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_907c_0), 0, 36988 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_9080_0), 0, 36992 }, /* SUB.L Dn,Dn */ +{ CPUFUNC(op_9088_0), 0, 37000 }, /* SUB.L An,Dn */ +{ CPUFUNC(op_9090_0), 0, 37008 }, /* SUB.L (An),Dn */ +{ CPUFUNC(op_9098_0), 0, 37016 }, /* SUB.L (An)+,Dn */ +{ CPUFUNC(op_90a0_0), 0, 37024 }, /* SUB.L -(An),Dn */ +{ CPUFUNC(op_90a8_0), 0, 37032 }, /* SUB.L (d16,An),Dn */ +{ CPUFUNC(op_90b0_3), 0, 37040 }, /* SUB.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_90b8_0), 0, 37048 }, /* SUB.L (xxx).W,Dn */ +{ CPUFUNC(op_90b9_0), 0, 37049 }, /* SUB.L (xxx).L,Dn */ +{ CPUFUNC(op_90ba_0), 0, 37050 }, /* SUB.L (d16,PC),Dn */ +{ CPUFUNC(op_90bb_3), 0, 37051 }, /* SUB.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_90bc_0), 0, 37052 }, /* SUB.L #.L,Dn */ +{ CPUFUNC_FF(op_90c0_0), 0, 37056 }, /* SUBA.W Dn,An */ +{ CPUFUNC_FF(op_90c8_0), 0, 37064 }, /* SUBA.W An,An */ +{ CPUFUNC_FF(op_90d0_0), 0, 37072 }, /* SUBA.W (An),An */ +{ CPUFUNC_FF(op_90d8_0), 0, 37080 }, /* SUBA.W (An)+,An */ +{ CPUFUNC_FF(op_90e0_0), 0, 37088 }, /* SUBA.W -(An),An */ +{ CPUFUNC_FF(op_90e8_0), 0, 37096 }, /* SUBA.W (d16,An),An */ +{ CPUFUNC_FF(op_90f0_3), 0, 37104 }, /* SUBA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_90f8_0), 0, 37112 }, /* SUBA.W (xxx).W,An */ +{ CPUFUNC_FF(op_90f9_0), 0, 37113 }, /* SUBA.W (xxx).L,An */ +{ CPUFUNC_FF(op_90fa_0), 0, 37114 }, /* SUBA.W (d16,PC),An */ +{ CPUFUNC_FF(op_90fb_3), 0, 37115 }, /* SUBA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_90fc_0), 0, 37116 }, /* SUBA.W #.W,An */ +{ CPUFUNC(op_9100_0), 0, 37120 }, /* SUBX.B Dn,Dn */ +{ CPUFUNC(op_9108_0), 0, 37128 }, /* SUBX.B -(An),-(An) */ +{ CPUFUNC(op_9110_0), 0, 37136 }, /* SUB.B Dn,(An) */ +{ CPUFUNC(op_9118_0), 0, 37144 }, /* SUB.B Dn,(An)+ */ +{ CPUFUNC(op_9120_0), 0, 37152 }, /* SUB.B Dn,-(An) */ +{ CPUFUNC(op_9128_0), 0, 37160 }, /* SUB.B Dn,(d16,An) */ +{ CPUFUNC(op_9130_3), 0, 37168 }, /* SUB.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9138_0), 0, 37176 }, /* SUB.B Dn,(xxx).W */ +{ CPUFUNC(op_9139_0), 0, 37177 }, /* SUB.B Dn,(xxx).L */ +{ CPUFUNC(op_9140_0), 0, 37184 }, /* SUBX.W Dn,Dn */ +{ CPUFUNC(op_9148_0), 0, 37192 }, /* SUBX.W -(An),-(An) */ +{ CPUFUNC(op_9150_0), 0, 37200 }, /* SUB.W Dn,(An) */ +{ CPUFUNC(op_9158_0), 0, 37208 }, /* SUB.W Dn,(An)+ */ +{ CPUFUNC(op_9160_0), 0, 37216 }, /* SUB.W Dn,-(An) */ +{ CPUFUNC(op_9168_0), 0, 37224 }, /* SUB.W Dn,(d16,An) */ +{ CPUFUNC(op_9170_3), 0, 37232 }, /* SUB.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9178_0), 0, 37240 }, /* SUB.W Dn,(xxx).W */ +{ CPUFUNC(op_9179_0), 0, 37241 }, /* SUB.W Dn,(xxx).L */ +{ CPUFUNC(op_9180_0), 0, 37248 }, /* SUBX.L Dn,Dn */ +{ CPUFUNC(op_9188_0), 0, 37256 }, /* SUBX.L -(An),-(An) */ +{ CPUFUNC(op_9190_0), 0, 37264 }, /* SUB.L Dn,(An) */ +{ CPUFUNC(op_9198_0), 0, 37272 }, /* SUB.L Dn,(An)+ */ +{ CPUFUNC(op_91a0_0), 0, 37280 }, /* SUB.L Dn,-(An) */ +{ CPUFUNC(op_91a8_0), 0, 37288 }, /* SUB.L Dn,(d16,An) */ +{ CPUFUNC(op_91b0_3), 0, 37296 }, /* SUB.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_91b8_0), 0, 37304 }, /* SUB.L Dn,(xxx).W */ +{ CPUFUNC(op_91b9_0), 0, 37305 }, /* SUB.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_91c0_0), 0, 37312 }, /* SUBA.L Dn,An */ +{ CPUFUNC_FF(op_91c8_0), 0, 37320 }, /* SUBA.L An,An */ +{ CPUFUNC_FF(op_91d0_0), 0, 37328 }, /* SUBA.L (An),An */ +{ CPUFUNC_FF(op_91d8_0), 0, 37336 }, /* SUBA.L (An)+,An */ +{ CPUFUNC_FF(op_91e0_0), 0, 37344 }, /* SUBA.L -(An),An */ +{ CPUFUNC_FF(op_91e8_0), 0, 37352 }, /* SUBA.L (d16,An),An */ +{ CPUFUNC_FF(op_91f0_3), 0, 37360 }, /* SUBA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_91f8_0), 0, 37368 }, /* SUBA.L (xxx).W,An */ +{ CPUFUNC_FF(op_91f9_0), 0, 37369 }, /* SUBA.L (xxx).L,An */ +{ CPUFUNC_FF(op_91fa_0), 0, 37370 }, /* SUBA.L (d16,PC),An */ +{ CPUFUNC_FF(op_91fb_3), 0, 37371 }, /* SUBA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_91fc_0), 0, 37372 }, /* SUBA.L #.L,An */ +{ CPUFUNC(op_b000_0), 0, 45056 }, /* CMP.B Dn,Dn */ +{ CPUFUNC(op_b010_0), 0, 45072 }, /* CMP.B (An),Dn */ +{ CPUFUNC(op_b018_0), 0, 45080 }, /* CMP.B (An)+,Dn */ +{ CPUFUNC(op_b020_0), 0, 45088 }, /* CMP.B -(An),Dn */ +{ CPUFUNC(op_b028_0), 0, 45096 }, /* CMP.B (d16,An),Dn */ +{ CPUFUNC(op_b030_3), 0, 45104 }, /* CMP.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_b038_0), 0, 45112 }, /* CMP.B (xxx).W,Dn */ +{ CPUFUNC(op_b039_0), 0, 45113 }, /* CMP.B (xxx).L,Dn */ +{ CPUFUNC(op_b03a_0), 0, 45114 }, /* CMP.B (d16,PC),Dn */ +{ CPUFUNC(op_b03b_3), 0, 45115 }, /* CMP.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b03c_0), 0, 45116 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_b040_0), 0, 45120 }, /* CMP.W Dn,Dn */ +{ CPUFUNC(op_b048_0), 0, 45128 }, /* CMP.W An,Dn */ +{ CPUFUNC(op_b050_0), 0, 45136 }, /* CMP.W (An),Dn */ +{ CPUFUNC(op_b058_0), 0, 45144 }, /* CMP.W (An)+,Dn */ +{ CPUFUNC(op_b060_0), 0, 45152 }, /* CMP.W -(An),Dn */ +{ CPUFUNC(op_b068_0), 0, 45160 }, /* CMP.W (d16,An),Dn */ +{ CPUFUNC(op_b070_3), 0, 45168 }, /* CMP.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_b078_0), 0, 45176 }, /* CMP.W (xxx).W,Dn */ +{ CPUFUNC(op_b079_0), 0, 45177 }, /* CMP.W (xxx).L,Dn */ +{ CPUFUNC(op_b07a_0), 0, 45178 }, /* CMP.W (d16,PC),Dn */ +{ CPUFUNC(op_b07b_3), 0, 45179 }, /* CMP.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b07c_0), 0, 45180 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_b080_0), 0, 45184 }, /* CMP.L Dn,Dn */ +{ CPUFUNC(op_b088_0), 0, 45192 }, /* CMP.L An,Dn */ +{ CPUFUNC(op_b090_0), 0, 45200 }, /* CMP.L (An),Dn */ +{ CPUFUNC(op_b098_0), 0, 45208 }, /* CMP.L (An)+,Dn */ +{ CPUFUNC(op_b0a0_0), 0, 45216 }, /* CMP.L -(An),Dn */ +{ CPUFUNC(op_b0a8_0), 0, 45224 }, /* CMP.L (d16,An),Dn */ +{ CPUFUNC(op_b0b0_3), 0, 45232 }, /* CMP.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_b0b8_0), 0, 45240 }, /* CMP.L (xxx).W,Dn */ +{ CPUFUNC(op_b0b9_0), 0, 45241 }, /* CMP.L (xxx).L,Dn */ +{ CPUFUNC(op_b0ba_0), 0, 45242 }, /* CMP.L (d16,PC),Dn */ +{ CPUFUNC(op_b0bb_3), 0, 45243 }, /* CMP.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b0bc_0), 0, 45244 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_b0c0_0), 0, 45248 }, /* CMPA.W Dn,An */ +{ CPUFUNC(op_b0c8_0), 0, 45256 }, /* CMPA.W An,An */ +{ CPUFUNC(op_b0d0_0), 0, 45264 }, /* CMPA.W (An),An */ +{ CPUFUNC(op_b0d8_0), 0, 45272 }, /* CMPA.W (An)+,An */ +{ CPUFUNC(op_b0e0_0), 0, 45280 }, /* CMPA.W -(An),An */ +{ CPUFUNC(op_b0e8_0), 0, 45288 }, /* CMPA.W (d16,An),An */ +{ CPUFUNC(op_b0f0_3), 0, 45296 }, /* CMPA.W (d8,An,Xn),An */ +{ CPUFUNC(op_b0f8_0), 0, 45304 }, /* CMPA.W (xxx).W,An */ +{ CPUFUNC(op_b0f9_0), 0, 45305 }, /* CMPA.W (xxx).L,An */ +{ CPUFUNC(op_b0fa_0), 0, 45306 }, /* CMPA.W (d16,PC),An */ +{ CPUFUNC(op_b0fb_3), 0, 45307 }, /* CMPA.W (d8,PC,Xn),An */ +{ CPUFUNC(op_b0fc_0), 0, 45308 }, /* CMPA.W #.W,An */ +{ CPUFUNC(op_b100_0), 0, 45312 }, /* EOR.B Dn,Dn */ +{ CPUFUNC(op_b108_0), 0, 45320 }, /* CMPM.B (An)+,(An)+ */ +{ CPUFUNC(op_b110_0), 0, 45328 }, /* EOR.B Dn,(An) */ +{ CPUFUNC(op_b118_0), 0, 45336 }, /* EOR.B Dn,(An)+ */ +{ CPUFUNC(op_b120_0), 0, 45344 }, /* EOR.B Dn,-(An) */ +{ CPUFUNC(op_b128_0), 0, 45352 }, /* EOR.B Dn,(d16,An) */ +{ CPUFUNC(op_b130_3), 0, 45360 }, /* EOR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b138_0), 0, 45368 }, /* EOR.B Dn,(xxx).W */ +{ CPUFUNC(op_b139_0), 0, 45369 }, /* EOR.B Dn,(xxx).L */ +{ CPUFUNC(op_b140_0), 0, 45376 }, /* EOR.W Dn,Dn */ +{ CPUFUNC(op_b148_0), 0, 45384 }, /* CMPM.W (An)+,(An)+ */ +{ CPUFUNC(op_b150_0), 0, 45392 }, /* EOR.W Dn,(An) */ +{ CPUFUNC(op_b158_0), 0, 45400 }, /* EOR.W Dn,(An)+ */ +{ CPUFUNC(op_b160_0), 0, 45408 }, /* EOR.W Dn,-(An) */ +{ CPUFUNC(op_b168_0), 0, 45416 }, /* EOR.W Dn,(d16,An) */ +{ CPUFUNC(op_b170_3), 0, 45424 }, /* EOR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b178_0), 0, 45432 }, /* EOR.W Dn,(xxx).W */ +{ CPUFUNC(op_b179_0), 0, 45433 }, /* EOR.W Dn,(xxx).L */ +{ CPUFUNC(op_b180_0), 0, 45440 }, /* EOR.L Dn,Dn */ +{ CPUFUNC(op_b188_0), 0, 45448 }, /* CMPM.L (An)+,(An)+ */ +{ CPUFUNC(op_b190_0), 0, 45456 }, /* EOR.L Dn,(An) */ +{ CPUFUNC(op_b198_0), 0, 45464 }, /* EOR.L Dn,(An)+ */ +{ CPUFUNC(op_b1a0_0), 0, 45472 }, /* EOR.L Dn,-(An) */ +{ CPUFUNC(op_b1a8_0), 0, 45480 }, /* EOR.L Dn,(d16,An) */ +{ CPUFUNC(op_b1b0_3), 0, 45488 }, /* EOR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b1b8_0), 0, 45496 }, /* EOR.L Dn,(xxx).W */ +{ CPUFUNC(op_b1b9_0), 0, 45497 }, /* EOR.L Dn,(xxx).L */ +{ CPUFUNC(op_b1c0_0), 0, 45504 }, /* CMPA.L Dn,An */ +{ CPUFUNC(op_b1c8_0), 0, 45512 }, /* CMPA.L An,An */ +{ CPUFUNC(op_b1d0_0), 0, 45520 }, /* CMPA.L (An),An */ +{ CPUFUNC(op_b1d8_0), 0, 45528 }, /* CMPA.L (An)+,An */ +{ CPUFUNC(op_b1e0_0), 0, 45536 }, /* CMPA.L -(An),An */ +{ CPUFUNC(op_b1e8_0), 0, 45544 }, /* CMPA.L (d16,An),An */ +{ CPUFUNC(op_b1f0_3), 0, 45552 }, /* CMPA.L (d8,An,Xn),An */ +{ CPUFUNC(op_b1f8_0), 0, 45560 }, /* CMPA.L (xxx).W,An */ +{ CPUFUNC(op_b1f9_0), 0, 45561 }, /* CMPA.L (xxx).L,An */ +{ CPUFUNC(op_b1fa_0), 0, 45562 }, /* CMPA.L (d16,PC),An */ +{ CPUFUNC(op_b1fb_3), 0, 45563 }, /* CMPA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_b1fc_0), 0, 45564 }, /* CMPA.L #.L,An */ +{ CPUFUNC(op_c000_0), 0, 49152 }, /* AND.B Dn,Dn */ +{ CPUFUNC(op_c010_0), 0, 49168 }, /* AND.B (An),Dn */ +{ CPUFUNC(op_c018_0), 0, 49176 }, /* AND.B (An)+,Dn */ +{ CPUFUNC(op_c020_0), 0, 49184 }, /* AND.B -(An),Dn */ +{ CPUFUNC(op_c028_0), 0, 49192 }, /* AND.B (d16,An),Dn */ +{ CPUFUNC(op_c030_3), 0, 49200 }, /* AND.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_c038_0), 0, 49208 }, /* AND.B (xxx).W,Dn */ +{ CPUFUNC(op_c039_0), 0, 49209 }, /* AND.B (xxx).L,Dn */ +{ CPUFUNC(op_c03a_0), 0, 49210 }, /* AND.B (d16,PC),Dn */ +{ CPUFUNC(op_c03b_3), 0, 49211 }, /* AND.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c03c_0), 0, 49212 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_c040_0), 0, 49216 }, /* AND.W Dn,Dn */ +{ CPUFUNC(op_c050_0), 0, 49232 }, /* AND.W (An),Dn */ +{ CPUFUNC(op_c058_0), 0, 49240 }, /* AND.W (An)+,Dn */ +{ CPUFUNC(op_c060_0), 0, 49248 }, /* AND.W -(An),Dn */ +{ CPUFUNC(op_c068_0), 0, 49256 }, /* AND.W (d16,An),Dn */ +{ CPUFUNC(op_c070_3), 0, 49264 }, /* AND.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c078_0), 0, 49272 }, /* AND.W (xxx).W,Dn */ +{ CPUFUNC(op_c079_0), 0, 49273 }, /* AND.W (xxx).L,Dn */ +{ CPUFUNC(op_c07a_0), 0, 49274 }, /* AND.W (d16,PC),Dn */ +{ CPUFUNC(op_c07b_3), 0, 49275 }, /* AND.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c07c_0), 0, 49276 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_c080_0), 0, 49280 }, /* AND.L Dn,Dn */ +{ CPUFUNC(op_c090_0), 0, 49296 }, /* AND.L (An),Dn */ +{ CPUFUNC(op_c098_0), 0, 49304 }, /* AND.L (An)+,Dn */ +{ CPUFUNC(op_c0a0_0), 0, 49312 }, /* AND.L -(An),Dn */ +{ CPUFUNC(op_c0a8_0), 0, 49320 }, /* AND.L (d16,An),Dn */ +{ CPUFUNC(op_c0b0_3), 0, 49328 }, /* AND.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0b8_0), 0, 49336 }, /* AND.L (xxx).W,Dn */ +{ CPUFUNC(op_c0b9_0), 0, 49337 }, /* AND.L (xxx).L,Dn */ +{ CPUFUNC(op_c0ba_0), 0, 49338 }, /* AND.L (d16,PC),Dn */ +{ CPUFUNC(op_c0bb_3), 0, 49339 }, /* AND.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0bc_0), 0, 49340 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_c0c0_0), 0, 49344 }, /* MULU.W Dn,Dn */ +{ CPUFUNC(op_c0d0_0), 0, 49360 }, /* MULU.W (An),Dn */ +{ CPUFUNC(op_c0d8_0), 0, 49368 }, /* MULU.W (An)+,Dn */ +{ CPUFUNC(op_c0e0_0), 0, 49376 }, /* MULU.W -(An),Dn */ +{ CPUFUNC(op_c0e8_0), 0, 49384 }, /* MULU.W (d16,An),Dn */ +{ CPUFUNC(op_c0f0_3), 0, 49392 }, /* MULU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0f8_0), 0, 49400 }, /* MULU.W (xxx).W,Dn */ +{ CPUFUNC(op_c0f9_0), 0, 49401 }, /* MULU.W (xxx).L,Dn */ +{ CPUFUNC(op_c0fa_0), 0, 49402 }, /* MULU.W (d16,PC),Dn */ +{ CPUFUNC(op_c0fb_3), 0, 49403 }, /* MULU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0fc_0), 0, 49404 }, /* MULU.W #.W,Dn */ +{ CPUFUNC(op_c100_1), 0, 49408 }, /* ABCD.B Dn,Dn */ +{ CPUFUNC(op_c108_1), 0, 49416 }, /* ABCD.B -(An),-(An) */ +{ CPUFUNC(op_c110_0), 0, 49424 }, /* AND.B Dn,(An) */ +{ CPUFUNC(op_c118_0), 0, 49432 }, /* AND.B Dn,(An)+ */ +{ CPUFUNC(op_c120_0), 0, 49440 }, /* AND.B Dn,-(An) */ +{ CPUFUNC(op_c128_0), 0, 49448 }, /* AND.B Dn,(d16,An) */ +{ CPUFUNC(op_c130_3), 0, 49456 }, /* AND.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c138_0), 0, 49464 }, /* AND.B Dn,(xxx).W */ +{ CPUFUNC(op_c139_0), 0, 49465 }, /* AND.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_c140_0), 0, 49472 }, /* EXG.L Dn,Dn */ +{ CPUFUNC_FF(op_c148_0), 0, 49480 }, /* EXG.L An,An */ +{ CPUFUNC(op_c150_0), 0, 49488 }, /* AND.W Dn,(An) */ +{ CPUFUNC(op_c158_0), 0, 49496 }, /* AND.W Dn,(An)+ */ +{ CPUFUNC(op_c160_0), 0, 49504 }, /* AND.W Dn,-(An) */ +{ CPUFUNC(op_c168_0), 0, 49512 }, /* AND.W Dn,(d16,An) */ +{ CPUFUNC(op_c170_3), 0, 49520 }, /* AND.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c178_0), 0, 49528 }, /* AND.W Dn,(xxx).W */ +{ CPUFUNC(op_c179_0), 0, 49529 }, /* AND.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_c188_0), 0, 49544 }, /* EXG.L Dn,An */ +{ CPUFUNC(op_c190_0), 0, 49552 }, /* AND.L Dn,(An) */ +{ CPUFUNC(op_c198_0), 0, 49560 }, /* AND.L Dn,(An)+ */ +{ CPUFUNC(op_c1a0_0), 0, 49568 }, /* AND.L Dn,-(An) */ +{ CPUFUNC(op_c1a8_0), 0, 49576 }, /* AND.L Dn,(d16,An) */ +{ CPUFUNC(op_c1b0_3), 0, 49584 }, /* AND.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c1b8_0), 0, 49592 }, /* AND.L Dn,(xxx).W */ +{ CPUFUNC(op_c1b9_0), 0, 49593 }, /* AND.L Dn,(xxx).L */ +{ CPUFUNC(op_c1c0_0), 0, 49600 }, /* MULS.W Dn,Dn */ +{ CPUFUNC(op_c1d0_0), 0, 49616 }, /* MULS.W (An),Dn */ +{ CPUFUNC(op_c1d8_0), 0, 49624 }, /* MULS.W (An)+,Dn */ +{ CPUFUNC(op_c1e0_0), 0, 49632 }, /* MULS.W -(An),Dn */ +{ CPUFUNC(op_c1e8_0), 0, 49640 }, /* MULS.W (d16,An),Dn */ +{ CPUFUNC(op_c1f0_3), 0, 49648 }, /* MULS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c1f8_0), 0, 49656 }, /* MULS.W (xxx).W,Dn */ +{ CPUFUNC(op_c1f9_0), 0, 49657 }, /* MULS.W (xxx).L,Dn */ +{ CPUFUNC(op_c1fa_0), 0, 49658 }, /* MULS.W (d16,PC),Dn */ +{ CPUFUNC(op_c1fb_3), 0, 49659 }, /* MULS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c1fc_0), 0, 49660 }, /* MULS.W #.W,Dn */ +{ CPUFUNC(op_d000_0), 0, 53248 }, /* ADD.B Dn,Dn */ +{ CPUFUNC(op_d010_0), 0, 53264 }, /* ADD.B (An),Dn */ +{ CPUFUNC(op_d018_0), 0, 53272 }, /* ADD.B (An)+,Dn */ +{ CPUFUNC(op_d020_0), 0, 53280 }, /* ADD.B -(An),Dn */ +{ CPUFUNC(op_d028_0), 0, 53288 }, /* ADD.B (d16,An),Dn */ +{ CPUFUNC(op_d030_3), 0, 53296 }, /* ADD.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_d038_0), 0, 53304 }, /* ADD.B (xxx).W,Dn */ +{ CPUFUNC(op_d039_0), 0, 53305 }, /* ADD.B (xxx).L,Dn */ +{ CPUFUNC(op_d03a_0), 0, 53306 }, /* ADD.B (d16,PC),Dn */ +{ CPUFUNC(op_d03b_3), 0, 53307 }, /* ADD.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d03c_0), 0, 53308 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_d040_0), 0, 53312 }, /* ADD.W Dn,Dn */ +{ CPUFUNC(op_d048_0), 0, 53320 }, /* ADD.W An,Dn */ +{ CPUFUNC(op_d050_0), 0, 53328 }, /* ADD.W (An),Dn */ +{ CPUFUNC(op_d058_0), 0, 53336 }, /* ADD.W (An)+,Dn */ +{ CPUFUNC(op_d060_0), 0, 53344 }, /* ADD.W -(An),Dn */ +{ CPUFUNC(op_d068_0), 0, 53352 }, /* ADD.W (d16,An),Dn */ +{ CPUFUNC(op_d070_3), 0, 53360 }, /* ADD.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_d078_0), 0, 53368 }, /* ADD.W (xxx).W,Dn */ +{ CPUFUNC(op_d079_0), 0, 53369 }, /* ADD.W (xxx).L,Dn */ +{ CPUFUNC(op_d07a_0), 0, 53370 }, /* ADD.W (d16,PC),Dn */ +{ CPUFUNC(op_d07b_3), 0, 53371 }, /* ADD.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d07c_0), 0, 53372 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_d080_0), 0, 53376 }, /* ADD.L Dn,Dn */ +{ CPUFUNC(op_d088_0), 0, 53384 }, /* ADD.L An,Dn */ +{ CPUFUNC(op_d090_0), 0, 53392 }, /* ADD.L (An),Dn */ +{ CPUFUNC(op_d098_0), 0, 53400 }, /* ADD.L (An)+,Dn */ +{ CPUFUNC(op_d0a0_0), 0, 53408 }, /* ADD.L -(An),Dn */ +{ CPUFUNC(op_d0a8_0), 0, 53416 }, /* ADD.L (d16,An),Dn */ +{ CPUFUNC(op_d0b0_3), 0, 53424 }, /* ADD.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_d0b8_0), 0, 53432 }, /* ADD.L (xxx).W,Dn */ +{ CPUFUNC(op_d0b9_0), 0, 53433 }, /* ADD.L (xxx).L,Dn */ +{ CPUFUNC(op_d0ba_0), 0, 53434 }, /* ADD.L (d16,PC),Dn */ +{ CPUFUNC(op_d0bb_3), 0, 53435 }, /* ADD.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d0bc_0), 0, 53436 }, /* ADD.L #.L,Dn */ +{ CPUFUNC_FF(op_d0c0_0), 0, 53440 }, /* ADDA.W Dn,An */ +{ CPUFUNC_FF(op_d0c8_0), 0, 53448 }, /* ADDA.W An,An */ +{ CPUFUNC_FF(op_d0d0_0), 0, 53456 }, /* ADDA.W (An),An */ +{ CPUFUNC_FF(op_d0d8_0), 0, 53464 }, /* ADDA.W (An)+,An */ +{ CPUFUNC_FF(op_d0e0_0), 0, 53472 }, /* ADDA.W -(An),An */ +{ CPUFUNC_FF(op_d0e8_0), 0, 53480 }, /* ADDA.W (d16,An),An */ +{ CPUFUNC_FF(op_d0f0_3), 0, 53488 }, /* ADDA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d0f8_0), 0, 53496 }, /* ADDA.W (xxx).W,An */ +{ CPUFUNC_FF(op_d0f9_0), 0, 53497 }, /* ADDA.W (xxx).L,An */ +{ CPUFUNC_FF(op_d0fa_0), 0, 53498 }, /* ADDA.W (d16,PC),An */ +{ CPUFUNC_FF(op_d0fb_3), 0, 53499 }, /* ADDA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d0fc_0), 0, 53500 }, /* ADDA.W #.W,An */ +{ CPUFUNC(op_d100_0), 0, 53504 }, /* ADDX.B Dn,Dn */ +{ CPUFUNC(op_d108_0), 0, 53512 }, /* ADDX.B -(An),-(An) */ +{ CPUFUNC(op_d110_0), 0, 53520 }, /* ADD.B Dn,(An) */ +{ CPUFUNC(op_d118_0), 0, 53528 }, /* ADD.B Dn,(An)+ */ +{ CPUFUNC(op_d120_0), 0, 53536 }, /* ADD.B Dn,-(An) */ +{ CPUFUNC(op_d128_0), 0, 53544 }, /* ADD.B Dn,(d16,An) */ +{ CPUFUNC(op_d130_3), 0, 53552 }, /* ADD.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d138_0), 0, 53560 }, /* ADD.B Dn,(xxx).W */ +{ CPUFUNC(op_d139_0), 0, 53561 }, /* ADD.B Dn,(xxx).L */ +{ CPUFUNC(op_d140_0), 0, 53568 }, /* ADDX.W Dn,Dn */ +{ CPUFUNC(op_d148_0), 0, 53576 }, /* ADDX.W -(An),-(An) */ +{ CPUFUNC(op_d150_0), 0, 53584 }, /* ADD.W Dn,(An) */ +{ CPUFUNC(op_d158_0), 0, 53592 }, /* ADD.W Dn,(An)+ */ +{ CPUFUNC(op_d160_0), 0, 53600 }, /* ADD.W Dn,-(An) */ +{ CPUFUNC(op_d168_0), 0, 53608 }, /* ADD.W Dn,(d16,An) */ +{ CPUFUNC(op_d170_3), 0, 53616 }, /* ADD.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d178_0), 0, 53624 }, /* ADD.W Dn,(xxx).W */ +{ CPUFUNC(op_d179_0), 0, 53625 }, /* ADD.W Dn,(xxx).L */ +{ CPUFUNC(op_d180_0), 0, 53632 }, /* ADDX.L Dn,Dn */ +{ CPUFUNC(op_d188_0), 0, 53640 }, /* ADDX.L -(An),-(An) */ +{ CPUFUNC(op_d190_0), 0, 53648 }, /* ADD.L Dn,(An) */ +{ CPUFUNC(op_d198_0), 0, 53656 }, /* ADD.L Dn,(An)+ */ +{ CPUFUNC(op_d1a0_0), 0, 53664 }, /* ADD.L Dn,-(An) */ +{ CPUFUNC(op_d1a8_0), 0, 53672 }, /* ADD.L Dn,(d16,An) */ +{ CPUFUNC(op_d1b0_3), 0, 53680 }, /* ADD.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d1b8_0), 0, 53688 }, /* ADD.L Dn,(xxx).W */ +{ CPUFUNC(op_d1b9_0), 0, 53689 }, /* ADD.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_d1c0_0), 0, 53696 }, /* ADDA.L Dn,An */ +{ CPUFUNC_FF(op_d1c8_0), 0, 53704 }, /* ADDA.L An,An */ +{ CPUFUNC_FF(op_d1d0_0), 0, 53712 }, /* ADDA.L (An),An */ +{ CPUFUNC_FF(op_d1d8_0), 0, 53720 }, /* ADDA.L (An)+,An */ +{ CPUFUNC_FF(op_d1e0_0), 0, 53728 }, /* ADDA.L -(An),An */ +{ CPUFUNC_FF(op_d1e8_0), 0, 53736 }, /* ADDA.L (d16,An),An */ +{ CPUFUNC_FF(op_d1f0_3), 0, 53744 }, /* ADDA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d1f8_0), 0, 53752 }, /* ADDA.L (xxx).W,An */ +{ CPUFUNC_FF(op_d1f9_0), 0, 53753 }, /* ADDA.L (xxx).L,An */ +{ CPUFUNC_FF(op_d1fa_0), 0, 53754 }, /* ADDA.L (d16,PC),An */ +{ CPUFUNC_FF(op_d1fb_3), 0, 53755 }, /* ADDA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d1fc_0), 0, 53756 }, /* ADDA.L #.L,An */ +{ CPUFUNC(op_e000_0), 0, 57344 }, /* ASR.B #,Dn */ +{ CPUFUNC(op_e008_0), 0, 57352 }, /* LSR.B #,Dn */ +{ CPUFUNC(op_e010_0), 0, 57360 }, /* ROXR.B #,Dn */ +{ CPUFUNC(op_e018_0), 0, 57368 }, /* ROR.B #,Dn */ +{ CPUFUNC(op_e020_0), 0, 57376 }, /* ASR.B Dn,Dn */ +{ CPUFUNC(op_e028_0), 0, 57384 }, /* LSR.B Dn,Dn */ +{ CPUFUNC(op_e030_0), 0, 57392 }, /* ROXR.B Dn,Dn */ +{ CPUFUNC(op_e038_0), 0, 57400 }, /* ROR.B Dn,Dn */ +{ CPUFUNC(op_e040_0), 0, 57408 }, /* ASR.W #,Dn */ +{ CPUFUNC(op_e048_0), 0, 57416 }, /* LSR.W #,Dn */ +{ CPUFUNC(op_e050_0), 0, 57424 }, /* ROXR.W #,Dn */ +{ CPUFUNC(op_e058_0), 0, 57432 }, /* ROR.W #,Dn */ +{ CPUFUNC(op_e060_0), 0, 57440 }, /* ASR.W Dn,Dn */ +{ CPUFUNC(op_e068_0), 0, 57448 }, /* LSR.W Dn,Dn */ +{ CPUFUNC(op_e070_0), 0, 57456 }, /* ROXR.W Dn,Dn */ +{ CPUFUNC(op_e078_0), 0, 57464 }, /* ROR.W Dn,Dn */ +{ CPUFUNC(op_e080_0), 0, 57472 }, /* ASR.L #,Dn */ +{ CPUFUNC(op_e088_0), 0, 57480 }, /* LSR.L #,Dn */ +{ CPUFUNC(op_e090_0), 0, 57488 }, /* ROXR.L #,Dn */ +{ CPUFUNC(op_e098_0), 0, 57496 }, /* ROR.L #,Dn */ +{ CPUFUNC(op_e0a0_0), 0, 57504 }, /* ASR.L Dn,Dn */ +{ CPUFUNC(op_e0a8_0), 0, 57512 }, /* LSR.L Dn,Dn */ +{ CPUFUNC(op_e0b0_0), 0, 57520 }, /* ROXR.L Dn,Dn */ +{ CPUFUNC(op_e0b8_0), 0, 57528 }, /* ROR.L Dn,Dn */ +{ CPUFUNC(op_e0d0_0), 0, 57552 }, /* ASRW.W (An) */ +{ CPUFUNC(op_e0d8_0), 0, 57560 }, /* ASRW.W (An)+ */ +{ CPUFUNC(op_e0e0_0), 0, 57568 }, /* ASRW.W -(An) */ +{ CPUFUNC(op_e0e8_0), 0, 57576 }, /* ASRW.W (d16,An) */ +{ CPUFUNC(op_e0f0_3), 0, 57584 }, /* ASRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e0f8_0), 0, 57592 }, /* ASRW.W (xxx).W */ +{ CPUFUNC(op_e0f9_0), 0, 57593 }, /* ASRW.W (xxx).L */ +{ CPUFUNC(op_e100_0), 0, 57600 }, /* ASL.B #,Dn */ +{ CPUFUNC(op_e108_0), 0, 57608 }, /* LSL.B #,Dn */ +{ CPUFUNC(op_e110_0), 0, 57616 }, /* ROXL.B #,Dn */ +{ CPUFUNC(op_e118_0), 0, 57624 }, /* ROL.B #,Dn */ +{ CPUFUNC(op_e120_0), 0, 57632 }, /* ASL.B Dn,Dn */ +{ CPUFUNC(op_e128_0), 0, 57640 }, /* LSL.B Dn,Dn */ +{ CPUFUNC(op_e130_0), 0, 57648 }, /* ROXL.B Dn,Dn */ +{ CPUFUNC(op_e138_0), 0, 57656 }, /* ROL.B Dn,Dn */ +{ CPUFUNC(op_e140_0), 0, 57664 }, /* ASL.W #,Dn */ +{ CPUFUNC(op_e148_0), 0, 57672 }, /* LSL.W #,Dn */ +{ CPUFUNC(op_e150_0), 0, 57680 }, /* ROXL.W #,Dn */ +{ CPUFUNC(op_e158_0), 0, 57688 }, /* ROL.W #,Dn */ +{ CPUFUNC(op_e160_0), 0, 57696 }, /* ASL.W Dn,Dn */ +{ CPUFUNC(op_e168_0), 0, 57704 }, /* LSL.W Dn,Dn */ +{ CPUFUNC(op_e170_0), 0, 57712 }, /* ROXL.W Dn,Dn */ +{ CPUFUNC(op_e178_0), 0, 57720 }, /* ROL.W Dn,Dn */ +{ CPUFUNC(op_e180_0), 0, 57728 }, /* ASL.L #,Dn */ +{ CPUFUNC(op_e188_0), 0, 57736 }, /* LSL.L #,Dn */ +{ CPUFUNC(op_e190_0), 0, 57744 }, /* ROXL.L #,Dn */ +{ CPUFUNC(op_e198_0), 0, 57752 }, /* ROL.L #,Dn */ +{ CPUFUNC(op_e1a0_0), 0, 57760 }, /* ASL.L Dn,Dn */ +{ CPUFUNC(op_e1a8_0), 0, 57768 }, /* LSL.L Dn,Dn */ +{ CPUFUNC(op_e1b0_0), 0, 57776 }, /* ROXL.L Dn,Dn */ +{ CPUFUNC(op_e1b8_0), 0, 57784 }, /* ROL.L Dn,Dn */ +{ CPUFUNC(op_e1d0_0), 0, 57808 }, /* ASLW.W (An) */ +{ CPUFUNC(op_e1d8_0), 0, 57816 }, /* ASLW.W (An)+ */ +{ CPUFUNC(op_e1e0_0), 0, 57824 }, /* ASLW.W -(An) */ +{ CPUFUNC(op_e1e8_0), 0, 57832 }, /* ASLW.W (d16,An) */ +{ CPUFUNC(op_e1f0_3), 0, 57840 }, /* ASLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e1f8_0), 0, 57848 }, /* ASLW.W (xxx).W */ +{ CPUFUNC(op_e1f9_0), 0, 57849 }, /* ASLW.W (xxx).L */ +{ CPUFUNC(op_e2d0_0), 0, 58064 }, /* LSRW.W (An) */ +{ CPUFUNC(op_e2d8_0), 0, 58072 }, /* LSRW.W (An)+ */ +{ CPUFUNC(op_e2e0_0), 0, 58080 }, /* LSRW.W -(An) */ +{ CPUFUNC(op_e2e8_0), 0, 58088 }, /* LSRW.W (d16,An) */ +{ CPUFUNC(op_e2f0_3), 0, 58096 }, /* LSRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e2f8_0), 0, 58104 }, /* LSRW.W (xxx).W */ +{ CPUFUNC(op_e2f9_0), 0, 58105 }, /* LSRW.W (xxx).L */ +{ CPUFUNC(op_e3d0_0), 0, 58320 }, /* LSLW.W (An) */ +{ CPUFUNC(op_e3d8_0), 0, 58328 }, /* LSLW.W (An)+ */ +{ CPUFUNC(op_e3e0_0), 0, 58336 }, /* LSLW.W -(An) */ +{ CPUFUNC(op_e3e8_0), 0, 58344 }, /* LSLW.W (d16,An) */ +{ CPUFUNC(op_e3f0_3), 0, 58352 }, /* LSLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e3f8_0), 0, 58360 }, /* LSLW.W (xxx).W */ +{ CPUFUNC(op_e3f9_0), 0, 58361 }, /* LSLW.W (xxx).L */ +{ CPUFUNC(op_e4d0_0), 0, 58576 }, /* ROXRW.W (An) */ +{ CPUFUNC(op_e4d8_0), 0, 58584 }, /* ROXRW.W (An)+ */ +{ CPUFUNC(op_e4e0_0), 0, 58592 }, /* ROXRW.W -(An) */ +{ CPUFUNC(op_e4e8_0), 0, 58600 }, /* ROXRW.W (d16,An) */ +{ CPUFUNC(op_e4f0_3), 0, 58608 }, /* ROXRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e4f8_0), 0, 58616 }, /* ROXRW.W (xxx).W */ +{ CPUFUNC(op_e4f9_0), 0, 58617 }, /* ROXRW.W (xxx).L */ +{ CPUFUNC(op_e5d0_0), 0, 58832 }, /* ROXLW.W (An) */ +{ CPUFUNC(op_e5d8_0), 0, 58840 }, /* ROXLW.W (An)+ */ +{ CPUFUNC(op_e5e0_0), 0, 58848 }, /* ROXLW.W -(An) */ +{ CPUFUNC(op_e5e8_0), 0, 58856 }, /* ROXLW.W (d16,An) */ +{ CPUFUNC(op_e5f0_3), 0, 58864 }, /* ROXLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e5f8_0), 0, 58872 }, /* ROXLW.W (xxx).W */ +{ CPUFUNC(op_e5f9_0), 0, 58873 }, /* ROXLW.W (xxx).L */ +{ CPUFUNC(op_e6d0_0), 0, 59088 }, /* RORW.W (An) */ +{ CPUFUNC(op_e6d8_0), 0, 59096 }, /* RORW.W (An)+ */ +{ CPUFUNC(op_e6e0_0), 0, 59104 }, /* RORW.W -(An) */ +{ CPUFUNC(op_e6e8_0), 0, 59112 }, /* RORW.W (d16,An) */ +{ CPUFUNC(op_e6f0_3), 0, 59120 }, /* RORW.W (d8,An,Xn) */ +{ CPUFUNC(op_e6f8_0), 0, 59128 }, /* RORW.W (xxx).W */ +{ CPUFUNC(op_e6f9_0), 0, 59129 }, /* RORW.W (xxx).L */ +{ CPUFUNC(op_e7d0_0), 0, 59344 }, /* ROLW.W (An) */ +{ CPUFUNC(op_e7d8_0), 0, 59352 }, /* ROLW.W (An)+ */ +{ CPUFUNC(op_e7e0_0), 0, 59360 }, /* ROLW.W -(An) */ +{ CPUFUNC(op_e7e8_0), 0, 59368 }, /* ROLW.W (d16,An) */ +{ CPUFUNC(op_e7f0_3), 0, 59376 }, /* ROLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e7f8_0), 0, 59384 }, /* ROLW.W (xxx).W */ +{ CPUFUNC(op_e7f9_0), 0, 59385 }, /* ROLW.W (xxx).L */ +{ 0, 0, 0 }}; +struct cputbl CPUFUNC(op_smalltbl_4)[] = { +{ CPUFUNC(op_0_0), 0, 0 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_10_0), 0, 16 }, /* OR.B #.B,(An) */ +{ CPUFUNC(op_18_0), 0, 24 }, /* OR.B #.B,(An)+ */ +{ CPUFUNC(op_20_0), 0, 32 }, /* OR.B #.B,-(An) */ +{ CPUFUNC(op_28_0), 0, 40 }, /* OR.B #.B,(d16,An) */ +{ CPUFUNC(op_30_3), 0, 48 }, /* OR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_38_0), 0, 56 }, /* OR.B #.B,(xxx).W */ +{ CPUFUNC(op_39_0), 0, 57 }, /* OR.B #.B,(xxx).L */ +{ CPUFUNC(op_3c_0), 0, 60 }, /* ORSR.B #.W */ +{ CPUFUNC(op_40_0), 0, 64 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_50_0), 0, 80 }, /* OR.W #.W,(An) */ +{ CPUFUNC(op_58_0), 0, 88 }, /* OR.W #.W,(An)+ */ +{ CPUFUNC(op_60_0), 0, 96 }, /* OR.W #.W,-(An) */ +{ CPUFUNC(op_68_0), 0, 104 }, /* OR.W #.W,(d16,An) */ +{ CPUFUNC(op_70_3), 0, 112 }, /* OR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_78_0), 0, 120 }, /* OR.W #.W,(xxx).W */ +{ CPUFUNC(op_79_0), 0, 121 }, /* OR.W #.W,(xxx).L */ +{ CPUFUNC(op_7c_0), 0, 124 }, /* ORSR.W #.W */ +{ CPUFUNC(op_80_0), 0, 128 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_90_0), 0, 144 }, /* OR.L #.L,(An) */ +{ CPUFUNC(op_98_0), 0, 152 }, /* OR.L #.L,(An)+ */ +{ CPUFUNC(op_a0_0), 0, 160 }, /* OR.L #.L,-(An) */ +{ CPUFUNC(op_a8_0), 0, 168 }, /* OR.L #.L,(d16,An) */ +{ CPUFUNC(op_b0_3), 0, 176 }, /* OR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_b8_0), 0, 184 }, /* OR.L #.L,(xxx).W */ +{ CPUFUNC(op_b9_0), 0, 185 }, /* OR.L #.L,(xxx).L */ +{ CPUFUNC(op_100_0), 0, 256 }, /* BTST.L Dn,Dn */ +{ CPUFUNC_FF(op_108_0), 0, 264 }, /* MVPMR.W (d16,An),Dn */ +{ CPUFUNC(op_110_0), 0, 272 }, /* BTST.B Dn,(An) */ +{ CPUFUNC(op_118_0), 0, 280 }, /* BTST.B Dn,(An)+ */ +{ CPUFUNC(op_120_0), 0, 288 }, /* BTST.B Dn,-(An) */ +{ CPUFUNC(op_128_0), 0, 296 }, /* BTST.B Dn,(d16,An) */ +{ CPUFUNC(op_130_3), 0, 304 }, /* BTST.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_138_0), 0, 312 }, /* BTST.B Dn,(xxx).W */ +{ CPUFUNC(op_139_0), 0, 313 }, /* BTST.B Dn,(xxx).L */ +{ CPUFUNC(op_13a_0), 0, 314 }, /* BTST.B Dn,(d16,PC) */ +{ CPUFUNC(op_13b_3), 0, 315 }, /* BTST.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_13c_0), 0, 316 }, /* BTST.B Dn,#.B */ +{ CPUFUNC(op_140_0), 0, 320 }, /* BCHG.L Dn,Dn */ +{ CPUFUNC_FF(op_148_0), 0, 328 }, /* MVPMR.L (d16,An),Dn */ +{ CPUFUNC(op_150_0), 0, 336 }, /* BCHG.B Dn,(An) */ +{ CPUFUNC(op_158_0), 0, 344 }, /* BCHG.B Dn,(An)+ */ +{ CPUFUNC(op_160_0), 0, 352 }, /* BCHG.B Dn,-(An) */ +{ CPUFUNC(op_168_0), 0, 360 }, /* BCHG.B Dn,(d16,An) */ +{ CPUFUNC(op_170_3), 0, 368 }, /* BCHG.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_178_0), 0, 376 }, /* BCHG.B Dn,(xxx).W */ +{ CPUFUNC(op_179_0), 0, 377 }, /* BCHG.B Dn,(xxx).L */ +{ CPUFUNC(op_17a_0), 0, 378 }, /* BCHG.B Dn,(d16,PC) */ +{ CPUFUNC(op_17b_3), 0, 379 }, /* BCHG.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_180_0), 0, 384 }, /* BCLR.L Dn,Dn */ +{ CPUFUNC_FF(op_188_0), 0, 392 }, /* MVPRM.W Dn,(d16,An) */ +{ CPUFUNC(op_190_0), 0, 400 }, /* BCLR.B Dn,(An) */ +{ CPUFUNC(op_198_0), 0, 408 }, /* BCLR.B Dn,(An)+ */ +{ CPUFUNC(op_1a0_0), 0, 416 }, /* BCLR.B Dn,-(An) */ +{ CPUFUNC(op_1a8_0), 0, 424 }, /* BCLR.B Dn,(d16,An) */ +{ CPUFUNC(op_1b0_3), 0, 432 }, /* BCLR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1b8_0), 0, 440 }, /* BCLR.B Dn,(xxx).W */ +{ CPUFUNC(op_1b9_0), 0, 441 }, /* BCLR.B Dn,(xxx).L */ +{ CPUFUNC(op_1ba_0), 0, 442 }, /* BCLR.B Dn,(d16,PC) */ +{ CPUFUNC(op_1bb_3), 0, 443 }, /* BCLR.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_1c0_0), 0, 448 }, /* BSET.L Dn,Dn */ +{ CPUFUNC_FF(op_1c8_0), 0, 456 }, /* MVPRM.L Dn,(d16,An) */ +{ CPUFUNC(op_1d0_0), 0, 464 }, /* BSET.B Dn,(An) */ +{ CPUFUNC(op_1d8_0), 0, 472 }, /* BSET.B Dn,(An)+ */ +{ CPUFUNC(op_1e0_0), 0, 480 }, /* BSET.B Dn,-(An) */ +{ CPUFUNC(op_1e8_0), 0, 488 }, /* BSET.B Dn,(d16,An) */ +{ CPUFUNC(op_1f0_3), 0, 496 }, /* BSET.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1f8_0), 0, 504 }, /* BSET.B Dn,(xxx).W */ +{ CPUFUNC(op_1f9_0), 0, 505 }, /* BSET.B Dn,(xxx).L */ +{ CPUFUNC(op_1fa_0), 0, 506 }, /* BSET.B Dn,(d16,PC) */ +{ CPUFUNC(op_1fb_3), 0, 507 }, /* BSET.B Dn,(d8,PC,Xn) */ +{ CPUFUNC(op_200_0), 0, 512 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_210_0), 0, 528 }, /* AND.B #.B,(An) */ +{ CPUFUNC(op_218_0), 0, 536 }, /* AND.B #.B,(An)+ */ +{ CPUFUNC(op_220_0), 0, 544 }, /* AND.B #.B,-(An) */ +{ CPUFUNC(op_228_0), 0, 552 }, /* AND.B #.B,(d16,An) */ +{ CPUFUNC(op_230_3), 0, 560 }, /* AND.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_238_0), 0, 568 }, /* AND.B #.B,(xxx).W */ +{ CPUFUNC(op_239_0), 0, 569 }, /* AND.B #.B,(xxx).L */ +{ CPUFUNC(op_23c_0), 0, 572 }, /* ANDSR.B #.W */ +{ CPUFUNC(op_240_0), 0, 576 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_250_0), 0, 592 }, /* AND.W #.W,(An) */ +{ CPUFUNC(op_258_0), 0, 600 }, /* AND.W #.W,(An)+ */ +{ CPUFUNC(op_260_0), 0, 608 }, /* AND.W #.W,-(An) */ +{ CPUFUNC(op_268_0), 0, 616 }, /* AND.W #.W,(d16,An) */ +{ CPUFUNC(op_270_3), 0, 624 }, /* AND.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_278_0), 0, 632 }, /* AND.W #.W,(xxx).W */ +{ CPUFUNC(op_279_0), 0, 633 }, /* AND.W #.W,(xxx).L */ +{ CPUFUNC(op_27c_0), 0, 636 }, /* ANDSR.W #.W */ +{ CPUFUNC(op_280_0), 0, 640 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_290_0), 0, 656 }, /* AND.L #.L,(An) */ +{ CPUFUNC(op_298_0), 0, 664 }, /* AND.L #.L,(An)+ */ +{ CPUFUNC(op_2a0_0), 0, 672 }, /* AND.L #.L,-(An) */ +{ CPUFUNC(op_2a8_0), 0, 680 }, /* AND.L #.L,(d16,An) */ +{ CPUFUNC(op_2b0_3), 0, 688 }, /* AND.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_2b8_0), 0, 696 }, /* AND.L #.L,(xxx).W */ +{ CPUFUNC(op_2b9_0), 0, 697 }, /* AND.L #.L,(xxx).L */ +{ CPUFUNC(op_400_0), 0, 1024 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_410_0), 0, 1040 }, /* SUB.B #.B,(An) */ +{ CPUFUNC(op_418_0), 0, 1048 }, /* SUB.B #.B,(An)+ */ +{ CPUFUNC(op_420_0), 0, 1056 }, /* SUB.B #.B,-(An) */ +{ CPUFUNC(op_428_0), 0, 1064 }, /* SUB.B #.B,(d16,An) */ +{ CPUFUNC(op_430_3), 0, 1072 }, /* SUB.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_438_0), 0, 1080 }, /* SUB.B #.B,(xxx).W */ +{ CPUFUNC(op_439_0), 0, 1081 }, /* SUB.B #.B,(xxx).L */ +{ CPUFUNC(op_440_0), 0, 1088 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_450_0), 0, 1104 }, /* SUB.W #.W,(An) */ +{ CPUFUNC(op_458_0), 0, 1112 }, /* SUB.W #.W,(An)+ */ +{ CPUFUNC(op_460_0), 0, 1120 }, /* SUB.W #.W,-(An) */ +{ CPUFUNC(op_468_0), 0, 1128 }, /* SUB.W #.W,(d16,An) */ +{ CPUFUNC(op_470_3), 0, 1136 }, /* SUB.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_478_0), 0, 1144 }, /* SUB.W #.W,(xxx).W */ +{ CPUFUNC(op_479_0), 0, 1145 }, /* SUB.W #.W,(xxx).L */ +{ CPUFUNC(op_480_0), 0, 1152 }, /* SUB.L #.L,Dn */ +{ CPUFUNC(op_490_0), 0, 1168 }, /* SUB.L #.L,(An) */ +{ CPUFUNC(op_498_0), 0, 1176 }, /* SUB.L #.L,(An)+ */ +{ CPUFUNC(op_4a0_0), 0, 1184 }, /* SUB.L #.L,-(An) */ +{ CPUFUNC(op_4a8_0), 0, 1192 }, /* SUB.L #.L,(d16,An) */ +{ CPUFUNC(op_4b0_3), 0, 1200 }, /* SUB.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_4b8_0), 0, 1208 }, /* SUB.L #.L,(xxx).W */ +{ CPUFUNC(op_4b9_0), 0, 1209 }, /* SUB.L #.L,(xxx).L */ +{ CPUFUNC(op_600_0), 0, 1536 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_610_0), 0, 1552 }, /* ADD.B #.B,(An) */ +{ CPUFUNC(op_618_0), 0, 1560 }, /* ADD.B #.B,(An)+ */ +{ CPUFUNC(op_620_0), 0, 1568 }, /* ADD.B #.B,-(An) */ +{ CPUFUNC(op_628_0), 0, 1576 }, /* ADD.B #.B,(d16,An) */ +{ CPUFUNC(op_630_3), 0, 1584 }, /* ADD.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_638_0), 0, 1592 }, /* ADD.B #.B,(xxx).W */ +{ CPUFUNC(op_639_0), 0, 1593 }, /* ADD.B #.B,(xxx).L */ +{ CPUFUNC(op_640_0), 0, 1600 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_650_0), 0, 1616 }, /* ADD.W #.W,(An) */ +{ CPUFUNC(op_658_0), 0, 1624 }, /* ADD.W #.W,(An)+ */ +{ CPUFUNC(op_660_0), 0, 1632 }, /* ADD.W #.W,-(An) */ +{ CPUFUNC(op_668_0), 0, 1640 }, /* ADD.W #.W,(d16,An) */ +{ CPUFUNC(op_670_3), 0, 1648 }, /* ADD.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_678_0), 0, 1656 }, /* ADD.W #.W,(xxx).W */ +{ CPUFUNC(op_679_0), 0, 1657 }, /* ADD.W #.W,(xxx).L */ +{ CPUFUNC(op_680_0), 0, 1664 }, /* ADD.L #.L,Dn */ +{ CPUFUNC(op_690_0), 0, 1680 }, /* ADD.L #.L,(An) */ +{ CPUFUNC(op_698_0), 0, 1688 }, /* ADD.L #.L,(An)+ */ +{ CPUFUNC(op_6a0_0), 0, 1696 }, /* ADD.L #.L,-(An) */ +{ CPUFUNC(op_6a8_0), 0, 1704 }, /* ADD.L #.L,(d16,An) */ +{ CPUFUNC(op_6b0_3), 0, 1712 }, /* ADD.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_6b8_0), 0, 1720 }, /* ADD.L #.L,(xxx).W */ +{ CPUFUNC(op_6b9_0), 0, 1721 }, /* ADD.L #.L,(xxx).L */ +{ CPUFUNC(op_800_0), 0, 2048 }, /* BTST.L #.W,Dn */ +{ CPUFUNC(op_810_0), 0, 2064 }, /* BTST.B #.W,(An) */ +{ CPUFUNC(op_818_0), 0, 2072 }, /* BTST.B #.W,(An)+ */ +{ CPUFUNC(op_820_0), 0, 2080 }, /* BTST.B #.W,-(An) */ +{ CPUFUNC(op_828_0), 0, 2088 }, /* BTST.B #.W,(d16,An) */ +{ CPUFUNC(op_830_3), 0, 2096 }, /* BTST.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_838_0), 0, 2104 }, /* BTST.B #.W,(xxx).W */ +{ CPUFUNC(op_839_0), 0, 2105 }, /* BTST.B #.W,(xxx).L */ +{ CPUFUNC(op_83a_0), 0, 2106 }, /* BTST.B #.W,(d16,PC) */ +{ CPUFUNC(op_83b_3), 0, 2107 }, /* BTST.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_83c_0), 0, 2108 }, /* BTST.B #.W,#.B */ +{ CPUFUNC(op_840_0), 0, 2112 }, /* BCHG.L #.W,Dn */ +{ CPUFUNC(op_850_0), 0, 2128 }, /* BCHG.B #.W,(An) */ +{ CPUFUNC(op_858_0), 0, 2136 }, /* BCHG.B #.W,(An)+ */ +{ CPUFUNC(op_860_0), 0, 2144 }, /* BCHG.B #.W,-(An) */ +{ CPUFUNC(op_868_0), 0, 2152 }, /* BCHG.B #.W,(d16,An) */ +{ CPUFUNC(op_870_3), 0, 2160 }, /* BCHG.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_878_0), 0, 2168 }, /* BCHG.B #.W,(xxx).W */ +{ CPUFUNC(op_879_0), 0, 2169 }, /* BCHG.B #.W,(xxx).L */ +{ CPUFUNC(op_87a_0), 0, 2170 }, /* BCHG.B #.W,(d16,PC) */ +{ CPUFUNC(op_87b_3), 0, 2171 }, /* BCHG.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_880_0), 0, 2176 }, /* BCLR.L #.W,Dn */ +{ CPUFUNC(op_890_0), 0, 2192 }, /* BCLR.B #.W,(An) */ +{ CPUFUNC(op_898_0), 0, 2200 }, /* BCLR.B #.W,(An)+ */ +{ CPUFUNC(op_8a0_0), 0, 2208 }, /* BCLR.B #.W,-(An) */ +{ CPUFUNC(op_8a8_0), 0, 2216 }, /* BCLR.B #.W,(d16,An) */ +{ CPUFUNC(op_8b0_3), 0, 2224 }, /* BCLR.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8b8_0), 0, 2232 }, /* BCLR.B #.W,(xxx).W */ +{ CPUFUNC(op_8b9_0), 0, 2233 }, /* BCLR.B #.W,(xxx).L */ +{ CPUFUNC(op_8ba_0), 0, 2234 }, /* BCLR.B #.W,(d16,PC) */ +{ CPUFUNC(op_8bb_3), 0, 2235 }, /* BCLR.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_8c0_0), 0, 2240 }, /* BSET.L #.W,Dn */ +{ CPUFUNC(op_8d0_0), 0, 2256 }, /* BSET.B #.W,(An) */ +{ CPUFUNC(op_8d8_0), 0, 2264 }, /* BSET.B #.W,(An)+ */ +{ CPUFUNC(op_8e0_0), 0, 2272 }, /* BSET.B #.W,-(An) */ +{ CPUFUNC(op_8e8_0), 0, 2280 }, /* BSET.B #.W,(d16,An) */ +{ CPUFUNC(op_8f0_3), 0, 2288 }, /* BSET.B #.W,(d8,An,Xn) */ +{ CPUFUNC(op_8f8_0), 0, 2296 }, /* BSET.B #.W,(xxx).W */ +{ CPUFUNC(op_8f9_0), 0, 2297 }, /* BSET.B #.W,(xxx).L */ +{ CPUFUNC(op_8fa_0), 0, 2298 }, /* BSET.B #.W,(d16,PC) */ +{ CPUFUNC(op_8fb_3), 0, 2299 }, /* BSET.B #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_a00_0), 0, 2560 }, /* EOR.B #.B,Dn */ +{ CPUFUNC(op_a10_0), 0, 2576 }, /* EOR.B #.B,(An) */ +{ CPUFUNC(op_a18_0), 0, 2584 }, /* EOR.B #.B,(An)+ */ +{ CPUFUNC(op_a20_0), 0, 2592 }, /* EOR.B #.B,-(An) */ +{ CPUFUNC(op_a28_0), 0, 2600 }, /* EOR.B #.B,(d16,An) */ +{ CPUFUNC(op_a30_3), 0, 2608 }, /* EOR.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_a38_0), 0, 2616 }, /* EOR.B #.B,(xxx).W */ +{ CPUFUNC(op_a39_0), 0, 2617 }, /* EOR.B #.B,(xxx).L */ +{ CPUFUNC(op_a3c_0), 0, 2620 }, /* EORSR.B #.W */ +{ CPUFUNC(op_a40_0), 0, 2624 }, /* EOR.W #.W,Dn */ +{ CPUFUNC(op_a50_0), 0, 2640 }, /* EOR.W #.W,(An) */ +{ CPUFUNC(op_a58_0), 0, 2648 }, /* EOR.W #.W,(An)+ */ +{ CPUFUNC(op_a60_0), 0, 2656 }, /* EOR.W #.W,-(An) */ +{ CPUFUNC(op_a68_0), 0, 2664 }, /* EOR.W #.W,(d16,An) */ +{ CPUFUNC(op_a70_3), 0, 2672 }, /* EOR.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_a78_0), 0, 2680 }, /* EOR.W #.W,(xxx).W */ +{ CPUFUNC(op_a79_0), 0, 2681 }, /* EOR.W #.W,(xxx).L */ +{ CPUFUNC(op_a7c_0), 0, 2684 }, /* EORSR.W #.W */ +{ CPUFUNC(op_a80_0), 0, 2688 }, /* EOR.L #.L,Dn */ +{ CPUFUNC(op_a90_0), 0, 2704 }, /* EOR.L #.L,(An) */ +{ CPUFUNC(op_a98_0), 0, 2712 }, /* EOR.L #.L,(An)+ */ +{ CPUFUNC(op_aa0_0), 0, 2720 }, /* EOR.L #.L,-(An) */ +{ CPUFUNC(op_aa8_0), 0, 2728 }, /* EOR.L #.L,(d16,An) */ +{ CPUFUNC(op_ab0_3), 0, 2736 }, /* EOR.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_ab8_0), 0, 2744 }, /* EOR.L #.L,(xxx).W */ +{ CPUFUNC(op_ab9_0), 0, 2745 }, /* EOR.L #.L,(xxx).L */ +{ CPUFUNC(op_c00_0), 0, 3072 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_c10_0), 0, 3088 }, /* CMP.B #.B,(An) */ +{ CPUFUNC(op_c18_0), 0, 3096 }, /* CMP.B #.B,(An)+ */ +{ CPUFUNC(op_c20_0), 0, 3104 }, /* CMP.B #.B,-(An) */ +{ CPUFUNC(op_c28_0), 0, 3112 }, /* CMP.B #.B,(d16,An) */ +{ CPUFUNC(op_c30_3), 0, 3120 }, /* CMP.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_c38_0), 0, 3128 }, /* CMP.B #.B,(xxx).W */ +{ CPUFUNC(op_c39_0), 0, 3129 }, /* CMP.B #.B,(xxx).L */ +{ CPUFUNC(op_c3a_0), 0, 3130 }, /* CMP.B #.B,(d16,PC) */ +{ CPUFUNC(op_c3b_3), 0, 3131 }, /* CMP.B #.B,(d8,PC,Xn) */ +{ CPUFUNC(op_c40_0), 0, 3136 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_c50_0), 0, 3152 }, /* CMP.W #.W,(An) */ +{ CPUFUNC(op_c58_0), 0, 3160 }, /* CMP.W #.W,(An)+ */ +{ CPUFUNC(op_c60_0), 0, 3168 }, /* CMP.W #.W,-(An) */ +{ CPUFUNC(op_c68_0), 0, 3176 }, /* CMP.W #.W,(d16,An) */ +{ CPUFUNC(op_c70_3), 0, 3184 }, /* CMP.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_c78_0), 0, 3192 }, /* CMP.W #.W,(xxx).W */ +{ CPUFUNC(op_c79_0), 0, 3193 }, /* CMP.W #.W,(xxx).L */ +{ CPUFUNC(op_c7a_0), 0, 3194 }, /* CMP.W #.W,(d16,PC) */ +{ CPUFUNC(op_c7b_3), 0, 3195 }, /* CMP.W #.W,(d8,PC,Xn) */ +{ CPUFUNC(op_c80_0), 0, 3200 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_c90_0), 0, 3216 }, /* CMP.L #.L,(An) */ +{ CPUFUNC(op_c98_0), 0, 3224 }, /* CMP.L #.L,(An)+ */ +{ CPUFUNC(op_ca0_0), 0, 3232 }, /* CMP.L #.L,-(An) */ +{ CPUFUNC(op_ca8_0), 0, 3240 }, /* CMP.L #.L,(d16,An) */ +{ CPUFUNC(op_cb0_3), 0, 3248 }, /* CMP.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_cb8_0), 0, 3256 }, /* CMP.L #.L,(xxx).W */ +{ CPUFUNC(op_cb9_0), 0, 3257 }, /* CMP.L #.L,(xxx).L */ +{ CPUFUNC(op_cba_0), 0, 3258 }, /* CMP.L #.L,(d16,PC) */ +{ CPUFUNC(op_cbb_3), 0, 3259 }, /* CMP.L #.L,(d8,PC,Xn) */ +{ CPUFUNC(op_1000_0), 0, 4096 }, /* MOVE.B Dn,Dn */ +{ CPUFUNC(op_1010_0), 0, 4112 }, /* MOVE.B (An),Dn */ +{ CPUFUNC(op_1018_0), 0, 4120 }, /* MOVE.B (An)+,Dn */ +{ CPUFUNC(op_1020_0), 0, 4128 }, /* MOVE.B -(An),Dn */ +{ CPUFUNC(op_1028_0), 0, 4136 }, /* MOVE.B (d16,An),Dn */ +{ CPUFUNC(op_1030_3), 0, 4144 }, /* MOVE.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_1038_0), 0, 4152 }, /* MOVE.B (xxx).W,Dn */ +{ CPUFUNC(op_1039_0), 0, 4153 }, /* MOVE.B (xxx).L,Dn */ +{ CPUFUNC(op_103a_0), 0, 4154 }, /* MOVE.B (d16,PC),Dn */ +{ CPUFUNC(op_103b_3), 0, 4155 }, /* MOVE.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_103c_0), 0, 4156 }, /* MOVE.B #.B,Dn */ +{ CPUFUNC(op_1080_0), 0, 4224 }, /* MOVE.B Dn,(An) */ +{ CPUFUNC(op_1090_0), 0, 4240 }, /* MOVE.B (An),(An) */ +{ CPUFUNC(op_1098_0), 0, 4248 }, /* MOVE.B (An)+,(An) */ +{ CPUFUNC(op_10a0_0), 0, 4256 }, /* MOVE.B -(An),(An) */ +{ CPUFUNC(op_10a8_0), 0, 4264 }, /* MOVE.B (d16,An),(An) */ +{ CPUFUNC(op_10b0_3), 0, 4272 }, /* MOVE.B (d8,An,Xn),(An) */ +{ CPUFUNC(op_10b8_0), 0, 4280 }, /* MOVE.B (xxx).W,(An) */ +{ CPUFUNC(op_10b9_0), 0, 4281 }, /* MOVE.B (xxx).L,(An) */ +{ CPUFUNC(op_10ba_0), 0, 4282 }, /* MOVE.B (d16,PC),(An) */ +{ CPUFUNC(op_10bb_3), 0, 4283 }, /* MOVE.B (d8,PC,Xn),(An) */ +{ CPUFUNC(op_10bc_0), 0, 4284 }, /* MOVE.B #.B,(An) */ +{ CPUFUNC(op_10c0_0), 0, 4288 }, /* MOVE.B Dn,(An)+ */ +{ CPUFUNC(op_10d0_0), 0, 4304 }, /* MOVE.B (An),(An)+ */ +{ CPUFUNC(op_10d8_0), 0, 4312 }, /* MOVE.B (An)+,(An)+ */ +{ CPUFUNC(op_10e0_0), 0, 4320 }, /* MOVE.B -(An),(An)+ */ +{ CPUFUNC(op_10e8_0), 0, 4328 }, /* MOVE.B (d16,An),(An)+ */ +{ CPUFUNC(op_10f0_3), 0, 4336 }, /* MOVE.B (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_10f8_0), 0, 4344 }, /* MOVE.B (xxx).W,(An)+ */ +{ CPUFUNC(op_10f9_0), 0, 4345 }, /* MOVE.B (xxx).L,(An)+ */ +{ CPUFUNC(op_10fa_0), 0, 4346 }, /* MOVE.B (d16,PC),(An)+ */ +{ CPUFUNC(op_10fb_3), 0, 4347 }, /* MOVE.B (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_10fc_0), 0, 4348 }, /* MOVE.B #.B,(An)+ */ +{ CPUFUNC(op_1100_0), 0, 4352 }, /* MOVE.B Dn,-(An) */ +{ CPUFUNC(op_1110_0), 0, 4368 }, /* MOVE.B (An),-(An) */ +{ CPUFUNC(op_1118_0), 0, 4376 }, /* MOVE.B (An)+,-(An) */ +{ CPUFUNC(op_1120_0), 0, 4384 }, /* MOVE.B -(An),-(An) */ +{ CPUFUNC(op_1128_0), 0, 4392 }, /* MOVE.B (d16,An),-(An) */ +{ CPUFUNC(op_1130_3), 0, 4400 }, /* MOVE.B (d8,An,Xn),-(An) */ +{ CPUFUNC(op_1138_0), 0, 4408 }, /* MOVE.B (xxx).W,-(An) */ +{ CPUFUNC(op_1139_0), 0, 4409 }, /* MOVE.B (xxx).L,-(An) */ +{ CPUFUNC(op_113a_0), 0, 4410 }, /* MOVE.B (d16,PC),-(An) */ +{ CPUFUNC(op_113b_3), 0, 4411 }, /* MOVE.B (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_113c_0), 0, 4412 }, /* MOVE.B #.B,-(An) */ +{ CPUFUNC(op_1140_0), 0, 4416 }, /* MOVE.B Dn,(d16,An) */ +{ CPUFUNC(op_1150_0), 0, 4432 }, /* MOVE.B (An),(d16,An) */ +{ CPUFUNC(op_1158_0), 0, 4440 }, /* MOVE.B (An)+,(d16,An) */ +{ CPUFUNC(op_1160_0), 0, 4448 }, /* MOVE.B -(An),(d16,An) */ +{ CPUFUNC(op_1168_0), 0, 4456 }, /* MOVE.B (d16,An),(d16,An) */ +{ CPUFUNC(op_1170_3), 0, 4464 }, /* MOVE.B (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_1178_0), 0, 4472 }, /* MOVE.B (xxx).W,(d16,An) */ +{ CPUFUNC(op_1179_0), 0, 4473 }, /* MOVE.B (xxx).L,(d16,An) */ +{ CPUFUNC(op_117a_0), 0, 4474 }, /* MOVE.B (d16,PC),(d16,An) */ +{ CPUFUNC(op_117b_3), 0, 4475 }, /* MOVE.B (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_117c_0), 0, 4476 }, /* MOVE.B #.B,(d16,An) */ +{ CPUFUNC(op_1180_3), 0, 4480 }, /* MOVE.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_1190_3), 0, 4496 }, /* MOVE.B (An),(d8,An,Xn) */ +{ CPUFUNC(op_1198_3), 0, 4504 }, /* MOVE.B (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_11a0_3), 0, 4512 }, /* MOVE.B -(An),(d8,An,Xn) */ +{ CPUFUNC(op_11a8_3), 0, 4520 }, /* MOVE.B (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_11b0_3), 0, 4528 }, /* MOVE.B (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11b8_3), 0, 4536 }, /* MOVE.B (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_11b9_3), 0, 4537 }, /* MOVE.B (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_11ba_3), 0, 4538 }, /* MOVE.B (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_11bb_3), 0, 4539 }, /* MOVE.B (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_11bc_3), 0, 4540 }, /* MOVE.B #.B,(d8,An,Xn) */ +{ CPUFUNC(op_11c0_0), 0, 4544 }, /* MOVE.B Dn,(xxx).W */ +{ CPUFUNC(op_11d0_0), 0, 4560 }, /* MOVE.B (An),(xxx).W */ +{ CPUFUNC(op_11d8_0), 0, 4568 }, /* MOVE.B (An)+,(xxx).W */ +{ CPUFUNC(op_11e0_0), 0, 4576 }, /* MOVE.B -(An),(xxx).W */ +{ CPUFUNC(op_11e8_0), 0, 4584 }, /* MOVE.B (d16,An),(xxx).W */ +{ CPUFUNC(op_11f0_3), 0, 4592 }, /* MOVE.B (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_11f8_0), 0, 4600 }, /* MOVE.B (xxx).W,(xxx).W */ +{ CPUFUNC(op_11f9_0), 0, 4601 }, /* MOVE.B (xxx).L,(xxx).W */ +{ CPUFUNC(op_11fa_0), 0, 4602 }, /* MOVE.B (d16,PC),(xxx).W */ +{ CPUFUNC(op_11fb_3), 0, 4603 }, /* MOVE.B (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_11fc_0), 0, 4604 }, /* MOVE.B #.B,(xxx).W */ +{ CPUFUNC(op_13c0_0), 0, 5056 }, /* MOVE.B Dn,(xxx).L */ +{ CPUFUNC(op_13d0_0), 0, 5072 }, /* MOVE.B (An),(xxx).L */ +{ CPUFUNC(op_13d8_0), 0, 5080 }, /* MOVE.B (An)+,(xxx).L */ +{ CPUFUNC(op_13e0_0), 0, 5088 }, /* MOVE.B -(An),(xxx).L */ +{ CPUFUNC(op_13e8_0), 0, 5096 }, /* MOVE.B (d16,An),(xxx).L */ +{ CPUFUNC(op_13f0_3), 0, 5104 }, /* MOVE.B (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_13f8_0), 0, 5112 }, /* MOVE.B (xxx).W,(xxx).L */ +{ CPUFUNC(op_13f9_0), 0, 5113 }, /* MOVE.B (xxx).L,(xxx).L */ +{ CPUFUNC(op_13fa_0), 0, 5114 }, /* MOVE.B (d16,PC),(xxx).L */ +{ CPUFUNC(op_13fb_3), 0, 5115 }, /* MOVE.B (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_13fc_0), 0, 5116 }, /* MOVE.B #.B,(xxx).L */ +{ CPUFUNC(op_2000_0), 0, 8192 }, /* MOVE.L Dn,Dn */ +{ CPUFUNC(op_2008_0), 0, 8200 }, /* MOVE.L An,Dn */ +{ CPUFUNC(op_2010_0), 0, 8208 }, /* MOVE.L (An),Dn */ +{ CPUFUNC(op_2018_0), 0, 8216 }, /* MOVE.L (An)+,Dn */ +{ CPUFUNC(op_2020_0), 0, 8224 }, /* MOVE.L -(An),Dn */ +{ CPUFUNC(op_2028_0), 0, 8232 }, /* MOVE.L (d16,An),Dn */ +{ CPUFUNC(op_2030_3), 0, 8240 }, /* MOVE.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_2038_0), 0, 8248 }, /* MOVE.L (xxx).W,Dn */ +{ CPUFUNC(op_2039_0), 0, 8249 }, /* MOVE.L (xxx).L,Dn */ +{ CPUFUNC(op_203a_0), 0, 8250 }, /* MOVE.L (d16,PC),Dn */ +{ CPUFUNC(op_203b_3), 0, 8251 }, /* MOVE.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_203c_0), 0, 8252 }, /* MOVE.L #.L,Dn */ +{ CPUFUNC_FF(op_2040_0), 0, 8256 }, /* MOVEA.L Dn,An */ +{ CPUFUNC_FF(op_2048_0), 0, 8264 }, /* MOVEA.L An,An */ +{ CPUFUNC_FF(op_2050_0), 0, 8272 }, /* MOVEA.L (An),An */ +{ CPUFUNC_FF(op_2058_0), 0, 8280 }, /* MOVEA.L (An)+,An */ +{ CPUFUNC_FF(op_2060_0), 0, 8288 }, /* MOVEA.L -(An),An */ +{ CPUFUNC_FF(op_2068_0), 0, 8296 }, /* MOVEA.L (d16,An),An */ +{ CPUFUNC_FF(op_2070_3), 0, 8304 }, /* MOVEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_2078_0), 0, 8312 }, /* MOVEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_2079_0), 0, 8313 }, /* MOVEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_207a_0), 0, 8314 }, /* MOVEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_207b_3), 0, 8315 }, /* MOVEA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_207c_0), 0, 8316 }, /* MOVEA.L #.L,An */ +{ CPUFUNC(op_2080_0), 0, 8320 }, /* MOVE.L Dn,(An) */ +{ CPUFUNC(op_2088_0), 0, 8328 }, /* MOVE.L An,(An) */ +{ CPUFUNC(op_2090_0), 0, 8336 }, /* MOVE.L (An),(An) */ +{ CPUFUNC(op_2098_0), 0, 8344 }, /* MOVE.L (An)+,(An) */ +{ CPUFUNC(op_20a0_0), 0, 8352 }, /* MOVE.L -(An),(An) */ +{ CPUFUNC(op_20a8_0), 0, 8360 }, /* MOVE.L (d16,An),(An) */ +{ CPUFUNC(op_20b0_3), 0, 8368 }, /* MOVE.L (d8,An,Xn),(An) */ +{ CPUFUNC(op_20b8_0), 0, 8376 }, /* MOVE.L (xxx).W,(An) */ +{ CPUFUNC(op_20b9_0), 0, 8377 }, /* MOVE.L (xxx).L,(An) */ +{ CPUFUNC(op_20ba_0), 0, 8378 }, /* MOVE.L (d16,PC),(An) */ +{ CPUFUNC(op_20bb_3), 0, 8379 }, /* MOVE.L (d8,PC,Xn),(An) */ +{ CPUFUNC(op_20bc_0), 0, 8380 }, /* MOVE.L #.L,(An) */ +{ CPUFUNC(op_20c0_0), 0, 8384 }, /* MOVE.L Dn,(An)+ */ +{ CPUFUNC(op_20c8_0), 0, 8392 }, /* MOVE.L An,(An)+ */ +{ CPUFUNC(op_20d0_0), 0, 8400 }, /* MOVE.L (An),(An)+ */ +{ CPUFUNC(op_20d8_0), 0, 8408 }, /* MOVE.L (An)+,(An)+ */ +{ CPUFUNC(op_20e0_0), 0, 8416 }, /* MOVE.L -(An),(An)+ */ +{ CPUFUNC(op_20e8_0), 0, 8424 }, /* MOVE.L (d16,An),(An)+ */ +{ CPUFUNC(op_20f0_3), 0, 8432 }, /* MOVE.L (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_20f8_0), 0, 8440 }, /* MOVE.L (xxx).W,(An)+ */ +{ CPUFUNC(op_20f9_0), 0, 8441 }, /* MOVE.L (xxx).L,(An)+ */ +{ CPUFUNC(op_20fa_0), 0, 8442 }, /* MOVE.L (d16,PC),(An)+ */ +{ CPUFUNC(op_20fb_3), 0, 8443 }, /* MOVE.L (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_20fc_0), 0, 8444 }, /* MOVE.L #.L,(An)+ */ +{ CPUFUNC(op_2100_0), 0, 8448 }, /* MOVE.L Dn,-(An) */ +{ CPUFUNC(op_2108_0), 0, 8456 }, /* MOVE.L An,-(An) */ +{ CPUFUNC(op_2110_0), 0, 8464 }, /* MOVE.L (An),-(An) */ +{ CPUFUNC(op_2118_0), 0, 8472 }, /* MOVE.L (An)+,-(An) */ +{ CPUFUNC(op_2120_0), 0, 8480 }, /* MOVE.L -(An),-(An) */ +{ CPUFUNC(op_2128_0), 0, 8488 }, /* MOVE.L (d16,An),-(An) */ +{ CPUFUNC(op_2130_3), 0, 8496 }, /* MOVE.L (d8,An,Xn),-(An) */ +{ CPUFUNC(op_2138_0), 0, 8504 }, /* MOVE.L (xxx).W,-(An) */ +{ CPUFUNC(op_2139_0), 0, 8505 }, /* MOVE.L (xxx).L,-(An) */ +{ CPUFUNC(op_213a_0), 0, 8506 }, /* MOVE.L (d16,PC),-(An) */ +{ CPUFUNC(op_213b_3), 0, 8507 }, /* MOVE.L (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_213c_0), 0, 8508 }, /* MOVE.L #.L,-(An) */ +{ CPUFUNC(op_2140_0), 0, 8512 }, /* MOVE.L Dn,(d16,An) */ +{ CPUFUNC(op_2148_0), 0, 8520 }, /* MOVE.L An,(d16,An) */ +{ CPUFUNC(op_2150_0), 0, 8528 }, /* MOVE.L (An),(d16,An) */ +{ CPUFUNC(op_2158_0), 0, 8536 }, /* MOVE.L (An)+,(d16,An) */ +{ CPUFUNC(op_2160_0), 0, 8544 }, /* MOVE.L -(An),(d16,An) */ +{ CPUFUNC(op_2168_0), 0, 8552 }, /* MOVE.L (d16,An),(d16,An) */ +{ CPUFUNC(op_2170_3), 0, 8560 }, /* MOVE.L (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_2178_0), 0, 8568 }, /* MOVE.L (xxx).W,(d16,An) */ +{ CPUFUNC(op_2179_0), 0, 8569 }, /* MOVE.L (xxx).L,(d16,An) */ +{ CPUFUNC(op_217a_0), 0, 8570 }, /* MOVE.L (d16,PC),(d16,An) */ +{ CPUFUNC(op_217b_3), 0, 8571 }, /* MOVE.L (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_217c_0), 0, 8572 }, /* MOVE.L #.L,(d16,An) */ +{ CPUFUNC(op_2180_3), 0, 8576 }, /* MOVE.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_2188_3), 0, 8584 }, /* MOVE.L An,(d8,An,Xn) */ +{ CPUFUNC(op_2190_3), 0, 8592 }, /* MOVE.L (An),(d8,An,Xn) */ +{ CPUFUNC(op_2198_3), 0, 8600 }, /* MOVE.L (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_21a0_3), 0, 8608 }, /* MOVE.L -(An),(d8,An,Xn) */ +{ CPUFUNC(op_21a8_3), 0, 8616 }, /* MOVE.L (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_21b0_3), 0, 8624 }, /* MOVE.L (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21b8_3), 0, 8632 }, /* MOVE.L (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_21b9_3), 0, 8633 }, /* MOVE.L (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_21ba_3), 0, 8634 }, /* MOVE.L (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_21bb_3), 0, 8635 }, /* MOVE.L (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_21bc_3), 0, 8636 }, /* MOVE.L #.L,(d8,An,Xn) */ +{ CPUFUNC(op_21c0_0), 0, 8640 }, /* MOVE.L Dn,(xxx).W */ +{ CPUFUNC(op_21c8_0), 0, 8648 }, /* MOVE.L An,(xxx).W */ +{ CPUFUNC(op_21d0_0), 0, 8656 }, /* MOVE.L (An),(xxx).W */ +{ CPUFUNC(op_21d8_0), 0, 8664 }, /* MOVE.L (An)+,(xxx).W */ +{ CPUFUNC(op_21e0_0), 0, 8672 }, /* MOVE.L -(An),(xxx).W */ +{ CPUFUNC(op_21e8_0), 0, 8680 }, /* MOVE.L (d16,An),(xxx).W */ +{ CPUFUNC(op_21f0_3), 0, 8688 }, /* MOVE.L (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_21f8_0), 0, 8696 }, /* MOVE.L (xxx).W,(xxx).W */ +{ CPUFUNC(op_21f9_0), 0, 8697 }, /* MOVE.L (xxx).L,(xxx).W */ +{ CPUFUNC(op_21fa_0), 0, 8698 }, /* MOVE.L (d16,PC),(xxx).W */ +{ CPUFUNC(op_21fb_3), 0, 8699 }, /* MOVE.L (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_21fc_0), 0, 8700 }, /* MOVE.L #.L,(xxx).W */ +{ CPUFUNC(op_23c0_0), 0, 9152 }, /* MOVE.L Dn,(xxx).L */ +{ CPUFUNC(op_23c8_0), 0, 9160 }, /* MOVE.L An,(xxx).L */ +{ CPUFUNC(op_23d0_0), 0, 9168 }, /* MOVE.L (An),(xxx).L */ +{ CPUFUNC(op_23d8_0), 0, 9176 }, /* MOVE.L (An)+,(xxx).L */ +{ CPUFUNC(op_23e0_0), 0, 9184 }, /* MOVE.L -(An),(xxx).L */ +{ CPUFUNC(op_23e8_0), 0, 9192 }, /* MOVE.L (d16,An),(xxx).L */ +{ CPUFUNC(op_23f0_3), 0, 9200 }, /* MOVE.L (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_23f8_0), 0, 9208 }, /* MOVE.L (xxx).W,(xxx).L */ +{ CPUFUNC(op_23f9_0), 0, 9209 }, /* MOVE.L (xxx).L,(xxx).L */ +{ CPUFUNC(op_23fa_0), 0, 9210 }, /* MOVE.L (d16,PC),(xxx).L */ +{ CPUFUNC(op_23fb_3), 0, 9211 }, /* MOVE.L (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_23fc_0), 0, 9212 }, /* MOVE.L #.L,(xxx).L */ +{ CPUFUNC(op_3000_0), 0, 12288 }, /* MOVE.W Dn,Dn */ +{ CPUFUNC(op_3008_0), 0, 12296 }, /* MOVE.W An,Dn */ +{ CPUFUNC(op_3010_0), 0, 12304 }, /* MOVE.W (An),Dn */ +{ CPUFUNC(op_3018_0), 0, 12312 }, /* MOVE.W (An)+,Dn */ +{ CPUFUNC(op_3020_0), 0, 12320 }, /* MOVE.W -(An),Dn */ +{ CPUFUNC(op_3028_0), 0, 12328 }, /* MOVE.W (d16,An),Dn */ +{ CPUFUNC(op_3030_3), 0, 12336 }, /* MOVE.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_3038_0), 0, 12344 }, /* MOVE.W (xxx).W,Dn */ +{ CPUFUNC(op_3039_0), 0, 12345 }, /* MOVE.W (xxx).L,Dn */ +{ CPUFUNC(op_303a_0), 0, 12346 }, /* MOVE.W (d16,PC),Dn */ +{ CPUFUNC(op_303b_3), 0, 12347 }, /* MOVE.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_303c_0), 0, 12348 }, /* MOVE.W #.W,Dn */ +{ CPUFUNC_FF(op_3040_0), 0, 12352 }, /* MOVEA.W Dn,An */ +{ CPUFUNC_FF(op_3048_0), 0, 12360 }, /* MOVEA.W An,An */ +{ CPUFUNC_FF(op_3050_0), 0, 12368 }, /* MOVEA.W (An),An */ +{ CPUFUNC_FF(op_3058_0), 0, 12376 }, /* MOVEA.W (An)+,An */ +{ CPUFUNC_FF(op_3060_0), 0, 12384 }, /* MOVEA.W -(An),An */ +{ CPUFUNC_FF(op_3068_0), 0, 12392 }, /* MOVEA.W (d16,An),An */ +{ CPUFUNC_FF(op_3070_3), 0, 12400 }, /* MOVEA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_3078_0), 0, 12408 }, /* MOVEA.W (xxx).W,An */ +{ CPUFUNC_FF(op_3079_0), 0, 12409 }, /* MOVEA.W (xxx).L,An */ +{ CPUFUNC_FF(op_307a_0), 0, 12410 }, /* MOVEA.W (d16,PC),An */ +{ CPUFUNC_FF(op_307b_3), 0, 12411 }, /* MOVEA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_307c_0), 0, 12412 }, /* MOVEA.W #.W,An */ +{ CPUFUNC(op_3080_0), 0, 12416 }, /* MOVE.W Dn,(An) */ +{ CPUFUNC(op_3088_0), 0, 12424 }, /* MOVE.W An,(An) */ +{ CPUFUNC(op_3090_0), 0, 12432 }, /* MOVE.W (An),(An) */ +{ CPUFUNC(op_3098_0), 0, 12440 }, /* MOVE.W (An)+,(An) */ +{ CPUFUNC(op_30a0_0), 0, 12448 }, /* MOVE.W -(An),(An) */ +{ CPUFUNC(op_30a8_0), 0, 12456 }, /* MOVE.W (d16,An),(An) */ +{ CPUFUNC(op_30b0_3), 0, 12464 }, /* MOVE.W (d8,An,Xn),(An) */ +{ CPUFUNC(op_30b8_0), 0, 12472 }, /* MOVE.W (xxx).W,(An) */ +{ CPUFUNC(op_30b9_0), 0, 12473 }, /* MOVE.W (xxx).L,(An) */ +{ CPUFUNC(op_30ba_0), 0, 12474 }, /* MOVE.W (d16,PC),(An) */ +{ CPUFUNC(op_30bb_3), 0, 12475 }, /* MOVE.W (d8,PC,Xn),(An) */ +{ CPUFUNC(op_30bc_0), 0, 12476 }, /* MOVE.W #.W,(An) */ +{ CPUFUNC(op_30c0_0), 0, 12480 }, /* MOVE.W Dn,(An)+ */ +{ CPUFUNC(op_30c8_0), 0, 12488 }, /* MOVE.W An,(An)+ */ +{ CPUFUNC(op_30d0_0), 0, 12496 }, /* MOVE.W (An),(An)+ */ +{ CPUFUNC(op_30d8_0), 0, 12504 }, /* MOVE.W (An)+,(An)+ */ +{ CPUFUNC(op_30e0_0), 0, 12512 }, /* MOVE.W -(An),(An)+ */ +{ CPUFUNC(op_30e8_0), 0, 12520 }, /* MOVE.W (d16,An),(An)+ */ +{ CPUFUNC(op_30f0_3), 0, 12528 }, /* MOVE.W (d8,An,Xn),(An)+ */ +{ CPUFUNC(op_30f8_0), 0, 12536 }, /* MOVE.W (xxx).W,(An)+ */ +{ CPUFUNC(op_30f9_0), 0, 12537 }, /* MOVE.W (xxx).L,(An)+ */ +{ CPUFUNC(op_30fa_0), 0, 12538 }, /* MOVE.W (d16,PC),(An)+ */ +{ CPUFUNC(op_30fb_3), 0, 12539 }, /* MOVE.W (d8,PC,Xn),(An)+ */ +{ CPUFUNC(op_30fc_0), 0, 12540 }, /* MOVE.W #.W,(An)+ */ +{ CPUFUNC(op_3100_0), 0, 12544 }, /* MOVE.W Dn,-(An) */ +{ CPUFUNC(op_3108_0), 0, 12552 }, /* MOVE.W An,-(An) */ +{ CPUFUNC(op_3110_0), 0, 12560 }, /* MOVE.W (An),-(An) */ +{ CPUFUNC(op_3118_0), 0, 12568 }, /* MOVE.W (An)+,-(An) */ +{ CPUFUNC(op_3120_0), 0, 12576 }, /* MOVE.W -(An),-(An) */ +{ CPUFUNC(op_3128_0), 0, 12584 }, /* MOVE.W (d16,An),-(An) */ +{ CPUFUNC(op_3130_3), 0, 12592 }, /* MOVE.W (d8,An,Xn),-(An) */ +{ CPUFUNC(op_3138_0), 0, 12600 }, /* MOVE.W (xxx).W,-(An) */ +{ CPUFUNC(op_3139_0), 0, 12601 }, /* MOVE.W (xxx).L,-(An) */ +{ CPUFUNC(op_313a_0), 0, 12602 }, /* MOVE.W (d16,PC),-(An) */ +{ CPUFUNC(op_313b_3), 0, 12603 }, /* MOVE.W (d8,PC,Xn),-(An) */ +{ CPUFUNC(op_313c_0), 0, 12604 }, /* MOVE.W #.W,-(An) */ +{ CPUFUNC(op_3140_0), 0, 12608 }, /* MOVE.W Dn,(d16,An) */ +{ CPUFUNC(op_3148_0), 0, 12616 }, /* MOVE.W An,(d16,An) */ +{ CPUFUNC(op_3150_0), 0, 12624 }, /* MOVE.W (An),(d16,An) */ +{ CPUFUNC(op_3158_0), 0, 12632 }, /* MOVE.W (An)+,(d16,An) */ +{ CPUFUNC(op_3160_0), 0, 12640 }, /* MOVE.W -(An),(d16,An) */ +{ CPUFUNC(op_3168_0), 0, 12648 }, /* MOVE.W (d16,An),(d16,An) */ +{ CPUFUNC(op_3170_3), 0, 12656 }, /* MOVE.W (d8,An,Xn),(d16,An) */ +{ CPUFUNC(op_3178_0), 0, 12664 }, /* MOVE.W (xxx).W,(d16,An) */ +{ CPUFUNC(op_3179_0), 0, 12665 }, /* MOVE.W (xxx).L,(d16,An) */ +{ CPUFUNC(op_317a_0), 0, 12666 }, /* MOVE.W (d16,PC),(d16,An) */ +{ CPUFUNC(op_317b_3), 0, 12667 }, /* MOVE.W (d8,PC,Xn),(d16,An) */ +{ CPUFUNC(op_317c_0), 0, 12668 }, /* MOVE.W #.W,(d16,An) */ +{ CPUFUNC(op_3180_3), 0, 12672 }, /* MOVE.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_3188_3), 0, 12680 }, /* MOVE.W An,(d8,An,Xn) */ +{ CPUFUNC(op_3190_3), 0, 12688 }, /* MOVE.W (An),(d8,An,Xn) */ +{ CPUFUNC(op_3198_3), 0, 12696 }, /* MOVE.W (An)+,(d8,An,Xn) */ +{ CPUFUNC(op_31a0_3), 0, 12704 }, /* MOVE.W -(An),(d8,An,Xn) */ +{ CPUFUNC(op_31a8_3), 0, 12712 }, /* MOVE.W (d16,An),(d8,An,Xn) */ +{ CPUFUNC(op_31b0_3), 0, 12720 }, /* MOVE.W (d8,An,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31b8_3), 0, 12728 }, /* MOVE.W (xxx).W,(d8,An,Xn) */ +{ CPUFUNC(op_31b9_3), 0, 12729 }, /* MOVE.W (xxx).L,(d8,An,Xn) */ +{ CPUFUNC(op_31ba_3), 0, 12730 }, /* MOVE.W (d16,PC),(d8,An,Xn) */ +{ CPUFUNC(op_31bb_3), 0, 12731 }, /* MOVE.W (d8,PC,Xn),(d8,An,Xn) */ +{ CPUFUNC(op_31bc_3), 0, 12732 }, /* MOVE.W #.W,(d8,An,Xn) */ +{ CPUFUNC(op_31c0_0), 0, 12736 }, /* MOVE.W Dn,(xxx).W */ +{ CPUFUNC(op_31c8_0), 0, 12744 }, /* MOVE.W An,(xxx).W */ +{ CPUFUNC(op_31d0_0), 0, 12752 }, /* MOVE.W (An),(xxx).W */ +{ CPUFUNC(op_31d8_0), 0, 12760 }, /* MOVE.W (An)+,(xxx).W */ +{ CPUFUNC(op_31e0_0), 0, 12768 }, /* MOVE.W -(An),(xxx).W */ +{ CPUFUNC(op_31e8_0), 0, 12776 }, /* MOVE.W (d16,An),(xxx).W */ +{ CPUFUNC(op_31f0_3), 0, 12784 }, /* MOVE.W (d8,An,Xn),(xxx).W */ +{ CPUFUNC(op_31f8_0), 0, 12792 }, /* MOVE.W (xxx).W,(xxx).W */ +{ CPUFUNC(op_31f9_0), 0, 12793 }, /* MOVE.W (xxx).L,(xxx).W */ +{ CPUFUNC(op_31fa_0), 0, 12794 }, /* MOVE.W (d16,PC),(xxx).W */ +{ CPUFUNC(op_31fb_3), 0, 12795 }, /* MOVE.W (d8,PC,Xn),(xxx).W */ +{ CPUFUNC(op_31fc_0), 0, 12796 }, /* MOVE.W #.W,(xxx).W */ +{ CPUFUNC(op_33c0_0), 0, 13248 }, /* MOVE.W Dn,(xxx).L */ +{ CPUFUNC(op_33c8_0), 0, 13256 }, /* MOVE.W An,(xxx).L */ +{ CPUFUNC(op_33d0_0), 0, 13264 }, /* MOVE.W (An),(xxx).L */ +{ CPUFUNC(op_33d8_0), 0, 13272 }, /* MOVE.W (An)+,(xxx).L */ +{ CPUFUNC(op_33e0_0), 0, 13280 }, /* MOVE.W -(An),(xxx).L */ +{ CPUFUNC(op_33e8_0), 0, 13288 }, /* MOVE.W (d16,An),(xxx).L */ +{ CPUFUNC(op_33f0_3), 0, 13296 }, /* MOVE.W (d8,An,Xn),(xxx).L */ +{ CPUFUNC(op_33f8_0), 0, 13304 }, /* MOVE.W (xxx).W,(xxx).L */ +{ CPUFUNC(op_33f9_0), 0, 13305 }, /* MOVE.W (xxx).L,(xxx).L */ +{ CPUFUNC(op_33fa_0), 0, 13306 }, /* MOVE.W (d16,PC),(xxx).L */ +{ CPUFUNC(op_33fb_3), 0, 13307 }, /* MOVE.W (d8,PC,Xn),(xxx).L */ +{ CPUFUNC(op_33fc_0), 0, 13308 }, /* MOVE.W #.W,(xxx).L */ +{ CPUFUNC(op_4000_0), 0, 16384 }, /* NEGX.B Dn */ +{ CPUFUNC(op_4010_0), 0, 16400 }, /* NEGX.B (An) */ +{ CPUFUNC(op_4018_0), 0, 16408 }, /* NEGX.B (An)+ */ +{ CPUFUNC(op_4020_0), 0, 16416 }, /* NEGX.B -(An) */ +{ CPUFUNC(op_4028_0), 0, 16424 }, /* NEGX.B (d16,An) */ +{ CPUFUNC(op_4030_3), 0, 16432 }, /* NEGX.B (d8,An,Xn) */ +{ CPUFUNC(op_4038_0), 0, 16440 }, /* NEGX.B (xxx).W */ +{ CPUFUNC(op_4039_0), 0, 16441 }, /* NEGX.B (xxx).L */ +{ CPUFUNC(op_4040_0), 0, 16448 }, /* NEGX.W Dn */ +{ CPUFUNC(op_4050_0), 0, 16464 }, /* NEGX.W (An) */ +{ CPUFUNC(op_4058_0), 0, 16472 }, /* NEGX.W (An)+ */ +{ CPUFUNC(op_4060_0), 0, 16480 }, /* NEGX.W -(An) */ +{ CPUFUNC(op_4068_0), 0, 16488 }, /* NEGX.W (d16,An) */ +{ CPUFUNC(op_4070_3), 0, 16496 }, /* NEGX.W (d8,An,Xn) */ +{ CPUFUNC(op_4078_0), 0, 16504 }, /* NEGX.W (xxx).W */ +{ CPUFUNC(op_4079_0), 0, 16505 }, /* NEGX.W (xxx).L */ +{ CPUFUNC(op_4080_0), 0, 16512 }, /* NEGX.L Dn */ +{ CPUFUNC(op_4090_0), 0, 16528 }, /* NEGX.L (An) */ +{ CPUFUNC(op_4098_0), 0, 16536 }, /* NEGX.L (An)+ */ +{ CPUFUNC(op_40a0_0), 0, 16544 }, /* NEGX.L -(An) */ +{ CPUFUNC(op_40a8_0), 0, 16552 }, /* NEGX.L (d16,An) */ +{ CPUFUNC(op_40b0_3), 0, 16560 }, /* NEGX.L (d8,An,Xn) */ +{ CPUFUNC(op_40b8_0), 0, 16568 }, /* NEGX.L (xxx).W */ +{ CPUFUNC(op_40b9_0), 0, 16569 }, /* NEGX.L (xxx).L */ +{ CPUFUNC_FF(op_40c0_4), 0, 16576 }, /* MVSR2.W Dn */ +{ CPUFUNC_FF(op_40d0_4), 0, 16592 }, /* MVSR2.W (An) */ +{ CPUFUNC_FF(op_40d8_4), 0, 16600 }, /* MVSR2.W (An)+ */ +{ CPUFUNC_FF(op_40e0_4), 0, 16608 }, /* MVSR2.W -(An) */ +{ CPUFUNC_FF(op_40e8_4), 0, 16616 }, /* MVSR2.W (d16,An) */ +{ CPUFUNC_FF(op_40f0_4), 0, 16624 }, /* MVSR2.W (d8,An,Xn) */ +{ CPUFUNC_FF(op_40f8_4), 0, 16632 }, /* MVSR2.W (xxx).W */ +{ CPUFUNC_FF(op_40f9_4), 0, 16633 }, /* MVSR2.W (xxx).L */ +{ CPUFUNC(op_4100_0), 0, 16640 }, /* CHK.L Dn,Dn */ +{ CPUFUNC(op_4110_0), 0, 16656 }, /* CHK.L (An),Dn */ +{ CPUFUNC(op_4118_0), 0, 16664 }, /* CHK.L (An)+,Dn */ +{ CPUFUNC(op_4120_0), 0, 16672 }, /* CHK.L -(An),Dn */ +{ CPUFUNC(op_4128_0), 0, 16680 }, /* CHK.L (d16,An),Dn */ +{ CPUFUNC(op_4130_3), 0, 16688 }, /* CHK.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_4138_0), 0, 16696 }, /* CHK.L (xxx).W,Dn */ +{ CPUFUNC(op_4139_0), 0, 16697 }, /* CHK.L (xxx).L,Dn */ +{ CPUFUNC(op_413a_0), 0, 16698 }, /* CHK.L (d16,PC),Dn */ +{ CPUFUNC(op_413b_3), 0, 16699 }, /* CHK.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_413c_0), 0, 16700 }, /* CHK.L #.L,Dn */ +{ CPUFUNC(op_4180_0), 0, 16768 }, /* CHK.W Dn,Dn */ +{ CPUFUNC(op_4190_0), 0, 16784 }, /* CHK.W (An),Dn */ +{ CPUFUNC(op_4198_0), 0, 16792 }, /* CHK.W (An)+,Dn */ +{ CPUFUNC(op_41a0_0), 0, 16800 }, /* CHK.W -(An),Dn */ +{ CPUFUNC(op_41a8_0), 0, 16808 }, /* CHK.W (d16,An),Dn */ +{ CPUFUNC(op_41b0_3), 0, 16816 }, /* CHK.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_41b8_0), 0, 16824 }, /* CHK.W (xxx).W,Dn */ +{ CPUFUNC(op_41b9_0), 0, 16825 }, /* CHK.W (xxx).L,Dn */ +{ CPUFUNC(op_41ba_0), 0, 16826 }, /* CHK.W (d16,PC),Dn */ +{ CPUFUNC(op_41bb_3), 0, 16827 }, /* CHK.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_41bc_0), 0, 16828 }, /* CHK.W #.W,Dn */ +{ CPUFUNC_FF(op_41d0_0), 0, 16848 }, /* LEA.L (An),An */ +{ CPUFUNC_FF(op_41e8_0), 0, 16872 }, /* LEA.L (d16,An),An */ +{ CPUFUNC_FF(op_41f0_3), 0, 16880 }, /* LEA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_41f8_0), 0, 16888 }, /* LEA.L (xxx).W,An */ +{ CPUFUNC_FF(op_41f9_0), 0, 16889 }, /* LEA.L (xxx).L,An */ +{ CPUFUNC_FF(op_41fa_0), 0, 16890 }, /* LEA.L (d16,PC),An */ +{ CPUFUNC_FF(op_41fb_3), 0, 16891 }, /* LEA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_4200_0), 0, 16896 }, /* CLR.B Dn */ +{ CPUFUNC(op_4210_0), 0, 16912 }, /* CLR.B (An) */ +{ CPUFUNC(op_4218_0), 0, 16920 }, /* CLR.B (An)+ */ +{ CPUFUNC(op_4220_0), 0, 16928 }, /* CLR.B -(An) */ +{ CPUFUNC(op_4228_0), 0, 16936 }, /* CLR.B (d16,An) */ +{ CPUFUNC(op_4230_3), 0, 16944 }, /* CLR.B (d8,An,Xn) */ +{ CPUFUNC(op_4238_0), 0, 16952 }, /* CLR.B (xxx).W */ +{ CPUFUNC(op_4239_0), 0, 16953 }, /* CLR.B (xxx).L */ +{ CPUFUNC(op_4240_0), 0, 16960 }, /* CLR.W Dn */ +{ CPUFUNC(op_4250_0), 0, 16976 }, /* CLR.W (An) */ +{ CPUFUNC(op_4258_0), 0, 16984 }, /* CLR.W (An)+ */ +{ CPUFUNC(op_4260_0), 0, 16992 }, /* CLR.W -(An) */ +{ CPUFUNC(op_4268_0), 0, 17000 }, /* CLR.W (d16,An) */ +{ CPUFUNC(op_4270_3), 0, 17008 }, /* CLR.W (d8,An,Xn) */ +{ CPUFUNC(op_4278_0), 0, 17016 }, /* CLR.W (xxx).W */ +{ CPUFUNC(op_4279_0), 0, 17017 }, /* CLR.W (xxx).L */ +{ CPUFUNC(op_4280_0), 0, 17024 }, /* CLR.L Dn */ +{ CPUFUNC(op_4290_0), 0, 17040 }, /* CLR.L (An) */ +{ CPUFUNC(op_4298_0), 0, 17048 }, /* CLR.L (An)+ */ +{ CPUFUNC(op_42a0_0), 0, 17056 }, /* CLR.L -(An) */ +{ CPUFUNC(op_42a8_0), 0, 17064 }, /* CLR.L (d16,An) */ +{ CPUFUNC(op_42b0_3), 0, 17072 }, /* CLR.L (d8,An,Xn) */ +{ CPUFUNC(op_42b8_0), 0, 17080 }, /* CLR.L (xxx).W */ +{ CPUFUNC(op_42b9_0), 0, 17081 }, /* CLR.L (xxx).L */ +{ CPUFUNC(op_4400_0), 0, 17408 }, /* NEG.B Dn */ +{ CPUFUNC(op_4410_0), 0, 17424 }, /* NEG.B (An) */ +{ CPUFUNC(op_4418_0), 0, 17432 }, /* NEG.B (An)+ */ +{ CPUFUNC(op_4420_0), 0, 17440 }, /* NEG.B -(An) */ +{ CPUFUNC(op_4428_0), 0, 17448 }, /* NEG.B (d16,An) */ +{ CPUFUNC(op_4430_3), 0, 17456 }, /* NEG.B (d8,An,Xn) */ +{ CPUFUNC(op_4438_0), 0, 17464 }, /* NEG.B (xxx).W */ +{ CPUFUNC(op_4439_0), 0, 17465 }, /* NEG.B (xxx).L */ +{ CPUFUNC(op_4440_0), 0, 17472 }, /* NEG.W Dn */ +{ CPUFUNC(op_4450_0), 0, 17488 }, /* NEG.W (An) */ +{ CPUFUNC(op_4458_0), 0, 17496 }, /* NEG.W (An)+ */ +{ CPUFUNC(op_4460_0), 0, 17504 }, /* NEG.W -(An) */ +{ CPUFUNC(op_4468_0), 0, 17512 }, /* NEG.W (d16,An) */ +{ CPUFUNC(op_4470_3), 0, 17520 }, /* NEG.W (d8,An,Xn) */ +{ CPUFUNC(op_4478_0), 0, 17528 }, /* NEG.W (xxx).W */ +{ CPUFUNC(op_4479_0), 0, 17529 }, /* NEG.W (xxx).L */ +{ CPUFUNC(op_4480_0), 0, 17536 }, /* NEG.L Dn */ +{ CPUFUNC(op_4490_0), 0, 17552 }, /* NEG.L (An) */ +{ CPUFUNC(op_4498_0), 0, 17560 }, /* NEG.L (An)+ */ +{ CPUFUNC(op_44a0_0), 0, 17568 }, /* NEG.L -(An) */ +{ CPUFUNC(op_44a8_0), 0, 17576 }, /* NEG.L (d16,An) */ +{ CPUFUNC(op_44b0_3), 0, 17584 }, /* NEG.L (d8,An,Xn) */ +{ CPUFUNC(op_44b8_0), 0, 17592 }, /* NEG.L (xxx).W */ +{ CPUFUNC(op_44b9_0), 0, 17593 }, /* NEG.L (xxx).L */ +{ CPUFUNC(op_44c0_0), 0, 17600 }, /* MV2SR.B Dn */ +{ CPUFUNC(op_44d0_0), 0, 17616 }, /* MV2SR.B (An) */ +{ CPUFUNC(op_44d8_0), 0, 17624 }, /* MV2SR.B (An)+ */ +{ CPUFUNC(op_44e0_0), 0, 17632 }, /* MV2SR.B -(An) */ +{ CPUFUNC(op_44e8_0), 0, 17640 }, /* MV2SR.B (d16,An) */ +{ CPUFUNC(op_44f0_3), 0, 17648 }, /* MV2SR.B (d8,An,Xn) */ +{ CPUFUNC(op_44f8_0), 0, 17656 }, /* MV2SR.B (xxx).W */ +{ CPUFUNC(op_44f9_0), 0, 17657 }, /* MV2SR.B (xxx).L */ +{ CPUFUNC(op_44fa_0), 0, 17658 }, /* MV2SR.B (d16,PC) */ +{ CPUFUNC(op_44fb_3), 0, 17659 }, /* MV2SR.B (d8,PC,Xn) */ +{ CPUFUNC(op_44fc_0), 0, 17660 }, /* MV2SR.B #.B */ +{ CPUFUNC(op_4600_0), 0, 17920 }, /* NOT.B Dn */ +{ CPUFUNC(op_4610_0), 0, 17936 }, /* NOT.B (An) */ +{ CPUFUNC(op_4618_0), 0, 17944 }, /* NOT.B (An)+ */ +{ CPUFUNC(op_4620_0), 0, 17952 }, /* NOT.B -(An) */ +{ CPUFUNC(op_4628_0), 0, 17960 }, /* NOT.B (d16,An) */ +{ CPUFUNC(op_4630_3), 0, 17968 }, /* NOT.B (d8,An,Xn) */ +{ CPUFUNC(op_4638_0), 0, 17976 }, /* NOT.B (xxx).W */ +{ CPUFUNC(op_4639_0), 0, 17977 }, /* NOT.B (xxx).L */ +{ CPUFUNC(op_4640_0), 0, 17984 }, /* NOT.W Dn */ +{ CPUFUNC(op_4650_0), 0, 18000 }, /* NOT.W (An) */ +{ CPUFUNC(op_4658_0), 0, 18008 }, /* NOT.W (An)+ */ +{ CPUFUNC(op_4660_0), 0, 18016 }, /* NOT.W -(An) */ +{ CPUFUNC(op_4668_0), 0, 18024 }, /* NOT.W (d16,An) */ +{ CPUFUNC(op_4670_3), 0, 18032 }, /* NOT.W (d8,An,Xn) */ +{ CPUFUNC(op_4678_0), 0, 18040 }, /* NOT.W (xxx).W */ +{ CPUFUNC(op_4679_0), 0, 18041 }, /* NOT.W (xxx).L */ +{ CPUFUNC(op_4680_0), 0, 18048 }, /* NOT.L Dn */ +{ CPUFUNC(op_4690_0), 0, 18064 }, /* NOT.L (An) */ +{ CPUFUNC(op_4698_0), 0, 18072 }, /* NOT.L (An)+ */ +{ CPUFUNC(op_46a0_0), 0, 18080 }, /* NOT.L -(An) */ +{ CPUFUNC(op_46a8_0), 0, 18088 }, /* NOT.L (d16,An) */ +{ CPUFUNC(op_46b0_3), 0, 18096 }, /* NOT.L (d8,An,Xn) */ +{ CPUFUNC(op_46b8_0), 0, 18104 }, /* NOT.L (xxx).W */ +{ CPUFUNC(op_46b9_0), 0, 18105 }, /* NOT.L (xxx).L */ +{ CPUFUNC(op_46c0_0), 0, 18112 }, /* MV2SR.W Dn */ +{ CPUFUNC(op_46d0_0), 0, 18128 }, /* MV2SR.W (An) */ +{ CPUFUNC(op_46d8_0), 0, 18136 }, /* MV2SR.W (An)+ */ +{ CPUFUNC(op_46e0_0), 0, 18144 }, /* MV2SR.W -(An) */ +{ CPUFUNC(op_46e8_0), 0, 18152 }, /* MV2SR.W (d16,An) */ +{ CPUFUNC(op_46f0_3), 0, 18160 }, /* MV2SR.W (d8,An,Xn) */ +{ CPUFUNC(op_46f8_0), 0, 18168 }, /* MV2SR.W (xxx).W */ +{ CPUFUNC(op_46f9_0), 0, 18169 }, /* MV2SR.W (xxx).L */ +{ CPUFUNC(op_46fa_0), 0, 18170 }, /* MV2SR.W (d16,PC) */ +{ CPUFUNC(op_46fb_3), 0, 18171 }, /* MV2SR.W (d8,PC,Xn) */ +{ CPUFUNC(op_46fc_0), 0, 18172 }, /* MV2SR.W #.W */ +{ CPUFUNC(op_4800_1), 0, 18432 }, /* NBCD.B Dn */ +{ CPUFUNC(op_4810_1), 0, 18448 }, /* NBCD.B (An) */ +{ CPUFUNC(op_4818_1), 0, 18456 }, /* NBCD.B (An)+ */ +{ CPUFUNC(op_4820_1), 0, 18464 }, /* NBCD.B -(An) */ +{ CPUFUNC(op_4828_1), 0, 18472 }, /* NBCD.B (d16,An) */ +{ CPUFUNC(op_4830_3), 0, 18480 }, /* NBCD.B (d8,An,Xn) */ +{ CPUFUNC(op_4838_1), 0, 18488 }, /* NBCD.B (xxx).W */ +{ CPUFUNC(op_4839_1), 0, 18489 }, /* NBCD.B (xxx).L */ +{ CPUFUNC(op_4840_0), 0, 18496 }, /* SWAP.W Dn */ +{ CPUFUNC_FF(op_4850_0), 0, 18512 }, /* PEA.L (An) */ +{ CPUFUNC_FF(op_4868_0), 0, 18536 }, /* PEA.L (d16,An) */ +{ CPUFUNC_FF(op_4870_3), 0, 18544 }, /* PEA.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4878_0), 0, 18552 }, /* PEA.L (xxx).W */ +{ CPUFUNC_FF(op_4879_0), 0, 18553 }, /* PEA.L (xxx).L */ +{ CPUFUNC_FF(op_487a_0), 0, 18554 }, /* PEA.L (d16,PC) */ +{ CPUFUNC_FF(op_487b_3), 0, 18555 }, /* PEA.L (d8,PC,Xn) */ +{ CPUFUNC(op_4880_0), 0, 18560 }, /* EXT.W Dn */ +{ CPUFUNC_FF(op_4890_0), 0, 18576 }, /* MVMLE.W #.W,(An) */ +{ CPUFUNC_FF(op_48a0_0), 0, 18592 }, /* MVMLE.W #.W,-(An) */ +{ CPUFUNC_FF(op_48a8_0), 0, 18600 }, /* MVMLE.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_48b0_3), 0, 18608 }, /* MVMLE.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48b8_0), 0, 18616 }, /* MVMLE.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_48b9_0), 0, 18617 }, /* MVMLE.W #.W,(xxx).L */ +{ CPUFUNC(op_48c0_0), 0, 18624 }, /* EXT.L Dn */ +{ CPUFUNC_FF(op_48d0_0), 0, 18640 }, /* MVMLE.L #.W,(An) */ +{ CPUFUNC_FF(op_48e0_0), 0, 18656 }, /* MVMLE.L #.W,-(An) */ +{ CPUFUNC_FF(op_48e8_0), 0, 18664 }, /* MVMLE.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_48f0_3), 0, 18672 }, /* MVMLE.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_48f8_0), 0, 18680 }, /* MVMLE.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_48f9_0), 0, 18681 }, /* MVMLE.L #.W,(xxx).L */ +{ CPUFUNC(op_49c0_0), 0, 18880 }, /* EXT.B Dn */ +{ CPUFUNC(op_4a00_0), 0, 18944 }, /* TST.B Dn */ +{ CPUFUNC(op_4a10_0), 0, 18960 }, /* TST.B (An) */ +{ CPUFUNC(op_4a18_0), 0, 18968 }, /* TST.B (An)+ */ +{ CPUFUNC(op_4a20_0), 0, 18976 }, /* TST.B -(An) */ +{ CPUFUNC(op_4a28_0), 0, 18984 }, /* TST.B (d16,An) */ +{ CPUFUNC(op_4a30_3), 0, 18992 }, /* TST.B (d8,An,Xn) */ +{ CPUFUNC(op_4a38_0), 0, 19000 }, /* TST.B (xxx).W */ +{ CPUFUNC(op_4a39_0), 0, 19001 }, /* TST.B (xxx).L */ +{ CPUFUNC(op_4a3a_0), 0, 19002 }, /* TST.B (d16,PC) */ +{ CPUFUNC(op_4a3b_3), 0, 19003 }, /* TST.B (d8,PC,Xn) */ +{ CPUFUNC(op_4a3c_0), 0, 19004 }, /* TST.B #.B */ +{ CPUFUNC(op_4a40_0), 0, 19008 }, /* TST.W Dn */ +{ CPUFUNC(op_4a48_0), 0, 19016 }, /* TST.W An */ +{ CPUFUNC(op_4a50_0), 0, 19024 }, /* TST.W (An) */ +{ CPUFUNC(op_4a58_0), 0, 19032 }, /* TST.W (An)+ */ +{ CPUFUNC(op_4a60_0), 0, 19040 }, /* TST.W -(An) */ +{ CPUFUNC(op_4a68_0), 0, 19048 }, /* TST.W (d16,An) */ +{ CPUFUNC(op_4a70_3), 0, 19056 }, /* TST.W (d8,An,Xn) */ +{ CPUFUNC(op_4a78_0), 0, 19064 }, /* TST.W (xxx).W */ +{ CPUFUNC(op_4a79_0), 0, 19065 }, /* TST.W (xxx).L */ +{ CPUFUNC(op_4a7a_0), 0, 19066 }, /* TST.W (d16,PC) */ +{ CPUFUNC(op_4a7b_3), 0, 19067 }, /* TST.W (d8,PC,Xn) */ +{ CPUFUNC(op_4a7c_0), 0, 19068 }, /* TST.W #.W */ +{ CPUFUNC(op_4a80_0), 0, 19072 }, /* TST.L Dn */ +{ CPUFUNC(op_4a88_0), 0, 19080 }, /* TST.L An */ +{ CPUFUNC(op_4a90_0), 0, 19088 }, /* TST.L (An) */ +{ CPUFUNC(op_4a98_0), 0, 19096 }, /* TST.L (An)+ */ +{ CPUFUNC(op_4aa0_0), 0, 19104 }, /* TST.L -(An) */ +{ CPUFUNC(op_4aa8_0), 0, 19112 }, /* TST.L (d16,An) */ +{ CPUFUNC(op_4ab0_3), 0, 19120 }, /* TST.L (d8,An,Xn) */ +{ CPUFUNC(op_4ab8_0), 0, 19128 }, /* TST.L (xxx).W */ +{ CPUFUNC(op_4ab9_0), 0, 19129 }, /* TST.L (xxx).L */ +{ CPUFUNC(op_4aba_0), 0, 19130 }, /* TST.L (d16,PC) */ +{ CPUFUNC(op_4abb_3), 0, 19131 }, /* TST.L (d8,PC,Xn) */ +{ CPUFUNC(op_4abc_0), 0, 19132 }, /* TST.L #.L */ +{ CPUFUNC(op_4ac0_0), 0, 19136 }, /* TAS.B Dn */ +{ CPUFUNC(op_4ad0_0), 0, 19152 }, /* TAS.B (An) */ +{ CPUFUNC(op_4ad8_0), 0, 19160 }, /* TAS.B (An)+ */ +{ CPUFUNC(op_4ae0_0), 0, 19168 }, /* TAS.B -(An) */ +{ CPUFUNC(op_4ae8_0), 0, 19176 }, /* TAS.B (d16,An) */ +{ CPUFUNC(op_4af0_3), 0, 19184 }, /* TAS.B (d8,An,Xn) */ +{ CPUFUNC(op_4af8_0), 0, 19192 }, /* TAS.B (xxx).W */ +{ CPUFUNC(op_4af9_0), 0, 19193 }, /* TAS.B (xxx).L */ +{ CPUFUNC_FF(op_4c90_0), 0, 19600 }, /* MVMEL.W #.W,(An) */ +{ CPUFUNC_FF(op_4c98_0), 0, 19608 }, /* MVMEL.W #.W,(An)+ */ +{ CPUFUNC_FF(op_4ca8_0), 0, 19624 }, /* MVMEL.W #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cb0_3), 0, 19632 }, /* MVMEL.W #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cb8_0), 0, 19640 }, /* MVMEL.W #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cb9_0), 0, 19641 }, /* MVMEL.W #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cba_0), 0, 19642 }, /* MVMEL.W #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cbb_3), 0, 19643 }, /* MVMEL.W #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4cd0_0), 0, 19664 }, /* MVMEL.L #.W,(An) */ +{ CPUFUNC_FF(op_4cd8_0), 0, 19672 }, /* MVMEL.L #.W,(An)+ */ +{ CPUFUNC_FF(op_4ce8_0), 0, 19688 }, /* MVMEL.L #.W,(d16,An) */ +{ CPUFUNC_FF(op_4cf0_3), 0, 19696 }, /* MVMEL.L #.W,(d8,An,Xn) */ +{ CPUFUNC_FF(op_4cf8_0), 0, 19704 }, /* MVMEL.L #.W,(xxx).W */ +{ CPUFUNC_FF(op_4cf9_0), 0, 19705 }, /* MVMEL.L #.W,(xxx).L */ +{ CPUFUNC_FF(op_4cfa_0), 0, 19706 }, /* MVMEL.L #.W,(d16,PC) */ +{ CPUFUNC_FF(op_4cfb_3), 0, 19707 }, /* MVMEL.L #.W,(d8,PC,Xn) */ +{ CPUFUNC_FF(op_4e40_0), 0, 20032 }, /* TRAP.L # */ +{ CPUFUNC_FF(op_4e50_0), 0, 20048 }, /* LINK.W An,#.W */ +{ CPUFUNC_FF(op_4e58_0), 0, 20056 }, /* UNLK.L An */ +{ CPUFUNC_FF(op_4e60_0), 0, 20064 }, /* MVR2USP.L An */ +{ CPUFUNC_FF(op_4e68_0), 0, 20072 }, /* MVUSP2R.L An */ +{ CPUFUNC_FF(op_4e70_0), 0, 20080 }, /* RESET.L */ +{ CPUFUNC_FF(op_4e71_0), 0, 20081 }, /* NOP.L */ +{ CPUFUNC(op_4e72_0), 0, 20082 }, /* STOP.L #.W */ +{ CPUFUNC(op_4e73_4), 0, 20083 }, /* RTE.L */ +{ CPUFUNC_FF(op_4e74_0), 0, 20084 }, /* RTD.L #.W */ +{ CPUFUNC_FF(op_4e75_0), 0, 20085 }, /* RTS.L */ +{ CPUFUNC_FF(op_4e76_0), 0, 20086 }, /* TRAPV.L */ +{ CPUFUNC(op_4e77_0), 0, 20087 }, /* RTR.L */ +{ CPUFUNC_FF(op_4e90_0), 0, 20112 }, /* JSR.L (An) */ +{ CPUFUNC_FF(op_4ea8_0), 0, 20136 }, /* JSR.L (d16,An) */ +{ CPUFUNC_FF(op_4eb0_3), 0, 20144 }, /* JSR.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4eb8_0), 0, 20152 }, /* JSR.L (xxx).W */ +{ CPUFUNC_FF(op_4eb9_0), 0, 20153 }, /* JSR.L (xxx).L */ +{ CPUFUNC_FF(op_4eba_0), 0, 20154 }, /* JSR.L (d16,PC) */ +{ CPUFUNC_FF(op_4ebb_3), 0, 20155 }, /* JSR.L (d8,PC,Xn) */ +{ CPUFUNC_FF(op_4ed0_0), 0, 20176 }, /* JMP.L (An) */ +{ CPUFUNC_FF(op_4ee8_0), 0, 20200 }, /* JMP.L (d16,An) */ +{ CPUFUNC_FF(op_4ef0_3), 0, 20208 }, /* JMP.L (d8,An,Xn) */ +{ CPUFUNC_FF(op_4ef8_0), 0, 20216 }, /* JMP.L (xxx).W */ +{ CPUFUNC_FF(op_4ef9_0), 0, 20217 }, /* JMP.L (xxx).L */ +{ CPUFUNC_FF(op_4efa_0), 0, 20218 }, /* JMP.L (d16,PC) */ +{ CPUFUNC_FF(op_4efb_3), 0, 20219 }, /* JMP.L (d8,PC,Xn) */ +{ CPUFUNC(op_5000_0), 0, 20480 }, /* ADD.B #,Dn */ +{ CPUFUNC(op_5010_0), 0, 20496 }, /* ADD.B #,(An) */ +{ CPUFUNC(op_5018_0), 0, 20504 }, /* ADD.B #,(An)+ */ +{ CPUFUNC(op_5020_0), 0, 20512 }, /* ADD.B #,-(An) */ +{ CPUFUNC(op_5028_0), 0, 20520 }, /* ADD.B #,(d16,An) */ +{ CPUFUNC(op_5030_3), 0, 20528 }, /* ADD.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5038_0), 0, 20536 }, /* ADD.B #,(xxx).W */ +{ CPUFUNC(op_5039_0), 0, 20537 }, /* ADD.B #,(xxx).L */ +{ CPUFUNC(op_5040_0), 0, 20544 }, /* ADD.W #,Dn */ +{ CPUFUNC_FF(op_5048_0), 0, 20552 }, /* ADDA.W #,An */ +{ CPUFUNC(op_5050_0), 0, 20560 }, /* ADD.W #,(An) */ +{ CPUFUNC(op_5058_0), 0, 20568 }, /* ADD.W #,(An)+ */ +{ CPUFUNC(op_5060_0), 0, 20576 }, /* ADD.W #,-(An) */ +{ CPUFUNC(op_5068_0), 0, 20584 }, /* ADD.W #,(d16,An) */ +{ CPUFUNC(op_5070_3), 0, 20592 }, /* ADD.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5078_0), 0, 20600 }, /* ADD.W #,(xxx).W */ +{ CPUFUNC(op_5079_0), 0, 20601 }, /* ADD.W #,(xxx).L */ +{ CPUFUNC(op_5080_0), 0, 20608 }, /* ADD.L #,Dn */ +{ CPUFUNC_FF(op_5088_0), 0, 20616 }, /* ADDA.L #,An */ +{ CPUFUNC(op_5090_0), 0, 20624 }, /* ADD.L #,(An) */ +{ CPUFUNC(op_5098_0), 0, 20632 }, /* ADD.L #,(An)+ */ +{ CPUFUNC(op_50a0_0), 0, 20640 }, /* ADD.L #,-(An) */ +{ CPUFUNC(op_50a8_0), 0, 20648 }, /* ADD.L #,(d16,An) */ +{ CPUFUNC(op_50b0_3), 0, 20656 }, /* ADD.L #,(d8,An,Xn) */ +{ CPUFUNC(op_50b8_0), 0, 20664 }, /* ADD.L #,(xxx).W */ +{ CPUFUNC(op_50b9_0), 0, 20665 }, /* ADD.L #,(xxx).L */ +{ CPUFUNC_FF(op_50c0_0), 0, 20672 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_50c8_0), 0, 20680 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_50d0_0), 0, 20688 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_50d8_0), 0, 20696 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_50e0_0), 0, 20704 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_50e8_0), 0, 20712 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_50f0_3), 0, 20720 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_50f8_0), 0, 20728 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_50f9_0), 0, 20729 }, /* Scc.B (xxx).L */ +{ CPUFUNC(op_5100_0), 0, 20736 }, /* SUB.B #,Dn */ +{ CPUFUNC(op_5110_0), 0, 20752 }, /* SUB.B #,(An) */ +{ CPUFUNC(op_5118_0), 0, 20760 }, /* SUB.B #,(An)+ */ +{ CPUFUNC(op_5120_0), 0, 20768 }, /* SUB.B #,-(An) */ +{ CPUFUNC(op_5128_0), 0, 20776 }, /* SUB.B #,(d16,An) */ +{ CPUFUNC(op_5130_3), 0, 20784 }, /* SUB.B #,(d8,An,Xn) */ +{ CPUFUNC(op_5138_0), 0, 20792 }, /* SUB.B #,(xxx).W */ +{ CPUFUNC(op_5139_0), 0, 20793 }, /* SUB.B #,(xxx).L */ +{ CPUFUNC(op_5140_0), 0, 20800 }, /* SUB.W #,Dn */ +{ CPUFUNC_FF(op_5148_0), 0, 20808 }, /* SUBA.W #,An */ +{ CPUFUNC(op_5150_0), 0, 20816 }, /* SUB.W #,(An) */ +{ CPUFUNC(op_5158_0), 0, 20824 }, /* SUB.W #,(An)+ */ +{ CPUFUNC(op_5160_0), 0, 20832 }, /* SUB.W #,-(An) */ +{ CPUFUNC(op_5168_0), 0, 20840 }, /* SUB.W #,(d16,An) */ +{ CPUFUNC(op_5170_3), 0, 20848 }, /* SUB.W #,(d8,An,Xn) */ +{ CPUFUNC(op_5178_0), 0, 20856 }, /* SUB.W #,(xxx).W */ +{ CPUFUNC(op_5179_0), 0, 20857 }, /* SUB.W #,(xxx).L */ +{ CPUFUNC(op_5180_0), 0, 20864 }, /* SUB.L #,Dn */ +{ CPUFUNC_FF(op_5188_0), 0, 20872 }, /* SUBA.L #,An */ +{ CPUFUNC(op_5190_0), 0, 20880 }, /* SUB.L #,(An) */ +{ CPUFUNC(op_5198_0), 0, 20888 }, /* SUB.L #,(An)+ */ +{ CPUFUNC(op_51a0_0), 0, 20896 }, /* SUB.L #,-(An) */ +{ CPUFUNC(op_51a8_0), 0, 20904 }, /* SUB.L #,(d16,An) */ +{ CPUFUNC(op_51b0_3), 0, 20912 }, /* SUB.L #,(d8,An,Xn) */ +{ CPUFUNC(op_51b8_0), 0, 20920 }, /* SUB.L #,(xxx).W */ +{ CPUFUNC(op_51b9_0), 0, 20921 }, /* SUB.L #,(xxx).L */ +{ CPUFUNC_FF(op_51c0_0), 0, 20928 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_51c8_0), 0, 20936 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_51d0_0), 0, 20944 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_51d8_0), 0, 20952 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_51e0_0), 0, 20960 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_51e8_0), 0, 20968 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_51f0_3), 0, 20976 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_51f8_0), 0, 20984 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_51f9_0), 0, 20985 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_52c0_0), 0, 21184 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_52c8_0), 0, 21192 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_52d0_0), 0, 21200 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_52d8_0), 0, 21208 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_52e0_0), 0, 21216 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_52e8_0), 0, 21224 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_52f0_3), 0, 21232 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_52f8_0), 0, 21240 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_52f9_0), 0, 21241 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_53c0_0), 0, 21440 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_53c8_0), 0, 21448 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_53d0_0), 0, 21456 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_53d8_0), 0, 21464 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_53e0_0), 0, 21472 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_53e8_0), 0, 21480 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_53f0_3), 0, 21488 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_53f8_0), 0, 21496 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_53f9_0), 0, 21497 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_54c0_0), 0, 21696 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_54c8_0), 0, 21704 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_54d0_0), 0, 21712 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_54d8_0), 0, 21720 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_54e0_0), 0, 21728 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_54e8_0), 0, 21736 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_54f0_3), 0, 21744 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_54f8_0), 0, 21752 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_54f9_0), 0, 21753 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_55c0_0), 0, 21952 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_55c8_0), 0, 21960 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_55d0_0), 0, 21968 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_55d8_0), 0, 21976 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_55e0_0), 0, 21984 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_55e8_0), 0, 21992 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_55f0_3), 0, 22000 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_55f8_0), 0, 22008 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_55f9_0), 0, 22009 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_56c0_0), 0, 22208 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_56c8_0), 0, 22216 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_56d0_0), 0, 22224 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_56d8_0), 0, 22232 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_56e0_0), 0, 22240 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_56e8_0), 0, 22248 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_56f0_3), 0, 22256 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_56f8_0), 0, 22264 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_56f9_0), 0, 22265 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_57c0_0), 0, 22464 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_57c8_0), 0, 22472 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_57d0_0), 0, 22480 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_57d8_0), 0, 22488 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_57e0_0), 0, 22496 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_57e8_0), 0, 22504 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_57f0_3), 0, 22512 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_57f8_0), 0, 22520 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_57f9_0), 0, 22521 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_58c0_0), 0, 22720 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_58c8_0), 0, 22728 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_58d0_0), 0, 22736 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_58d8_0), 0, 22744 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_58e0_0), 0, 22752 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_58e8_0), 0, 22760 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_58f0_3), 0, 22768 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_58f8_0), 0, 22776 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_58f9_0), 0, 22777 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_59c0_0), 0, 22976 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_59c8_0), 0, 22984 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_59d0_0), 0, 22992 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_59d8_0), 0, 23000 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_59e0_0), 0, 23008 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_59e8_0), 0, 23016 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_59f0_3), 0, 23024 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_59f8_0), 0, 23032 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_59f9_0), 0, 23033 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ac0_0), 0, 23232 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ac8_0), 0, 23240 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ad0_0), 0, 23248 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ad8_0), 0, 23256 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ae0_0), 0, 23264 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ae8_0), 0, 23272 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5af0_3), 0, 23280 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5af8_0), 0, 23288 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5af9_0), 0, 23289 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5bc0_0), 0, 23488 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5bc8_0), 0, 23496 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5bd0_0), 0, 23504 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5bd8_0), 0, 23512 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5be0_0), 0, 23520 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5be8_0), 0, 23528 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5bf0_3), 0, 23536 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5bf8_0), 0, 23544 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5bf9_0), 0, 23545 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5cc0_0), 0, 23744 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5cc8_0), 0, 23752 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5cd0_0), 0, 23760 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5cd8_0), 0, 23768 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ce0_0), 0, 23776 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ce8_0), 0, 23784 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5cf0_3), 0, 23792 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5cf8_0), 0, 23800 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5cf9_0), 0, 23801 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5dc0_0), 0, 24000 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5dc8_0), 0, 24008 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5dd0_0), 0, 24016 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5dd8_0), 0, 24024 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5de0_0), 0, 24032 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5de8_0), 0, 24040 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5df0_3), 0, 24048 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5df8_0), 0, 24056 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5df9_0), 0, 24057 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5ec0_0), 0, 24256 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5ec8_0), 0, 24264 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5ed0_0), 0, 24272 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5ed8_0), 0, 24280 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5ee0_0), 0, 24288 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5ee8_0), 0, 24296 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ef0_3), 0, 24304 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ef8_0), 0, 24312 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ef9_0), 0, 24313 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_5fc0_0), 0, 24512 }, /* Scc.B Dn */ +{ CPUFUNC_FF(op_5fc8_0), 0, 24520 }, /* DBcc.W Dn,#.W */ +{ CPUFUNC_FF(op_5fd0_0), 0, 24528 }, /* Scc.B (An) */ +{ CPUFUNC_FF(op_5fd8_0), 0, 24536 }, /* Scc.B (An)+ */ +{ CPUFUNC_FF(op_5fe0_0), 0, 24544 }, /* Scc.B -(An) */ +{ CPUFUNC_FF(op_5fe8_0), 0, 24552 }, /* Scc.B (d16,An) */ +{ CPUFUNC_FF(op_5ff0_3), 0, 24560 }, /* Scc.B (d8,An,Xn) */ +{ CPUFUNC_FF(op_5ff8_0), 0, 24568 }, /* Scc.B (xxx).W */ +{ CPUFUNC_FF(op_5ff9_0), 0, 24569 }, /* Scc.B (xxx).L */ +{ CPUFUNC_FF(op_6000_0), 0, 24576 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6001_0), 0, 24577 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_60ff_3), 0, 24831 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6100_0), 0, 24832 }, /* BSR.W #.W */ +{ CPUFUNC_FF(op_6101_0), 0, 24833 }, /* BSR.B # */ +{ CPUFUNC_FF(op_61ff_0), 0, 25087 }, /* BSR.L #.L */ +{ CPUFUNC_FF(op_6200_0), 0, 25088 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6201_0), 0, 25089 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_62ff_3), 0, 25343 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6300_0), 0, 25344 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6301_0), 0, 25345 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_63ff_3), 0, 25599 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6400_0), 0, 25600 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6401_0), 0, 25601 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_64ff_3), 0, 25855 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6500_0), 0, 25856 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6501_0), 0, 25857 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_65ff_3), 0, 26111 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6600_0), 0, 26112 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6601_0), 0, 26113 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_66ff_3), 0, 26367 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6700_0), 0, 26368 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6701_0), 0, 26369 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_67ff_3), 0, 26623 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6800_0), 0, 26624 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6801_0), 0, 26625 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_68ff_3), 0, 26879 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6900_0), 0, 26880 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6901_0), 0, 26881 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_69ff_3), 0, 27135 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6a00_0), 0, 27136 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6a01_0), 0, 27137 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6aff_3), 0, 27391 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6b00_0), 0, 27392 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6b01_0), 0, 27393 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6bff_3), 0, 27647 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6c00_0), 0, 27648 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6c01_0), 0, 27649 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6cff_3), 0, 27903 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6d00_0), 0, 27904 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6d01_0), 0, 27905 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6dff_3), 0, 28159 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6e00_0), 0, 28160 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6e01_0), 0, 28161 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6eff_3), 0, 28415 }, /* Bcc.L #.L */ +{ CPUFUNC_FF(op_6f00_0), 0, 28416 }, /* Bcc.W #.W */ +{ CPUFUNC_FF(op_6f01_0), 0, 28417 }, /* Bcc.B # */ +{ CPUFUNC_FF(op_6fff_3), 0, 28671 }, /* Bcc.L #.L */ +{ CPUFUNC(op_7000_0), 0, 28672 }, /* MOVE.L #,Dn */ +{ CPUFUNC_FF(op_7100_0), 0, 28928 }, /* EMULOP_RETURN.L */ +{ CPUFUNC_FF(op_7101_0), 0, 28929 }, /* EMULOP.L # */ +{ CPUFUNC(op_8000_0), 0, 32768 }, /* OR.B Dn,Dn */ +{ CPUFUNC(op_8010_0), 0, 32784 }, /* OR.B (An),Dn */ +{ CPUFUNC(op_8018_0), 0, 32792 }, /* OR.B (An)+,Dn */ +{ CPUFUNC(op_8020_0), 0, 32800 }, /* OR.B -(An),Dn */ +{ CPUFUNC(op_8028_0), 0, 32808 }, /* OR.B (d16,An),Dn */ +{ CPUFUNC(op_8030_3), 0, 32816 }, /* OR.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_8038_0), 0, 32824 }, /* OR.B (xxx).W,Dn */ +{ CPUFUNC(op_8039_0), 0, 32825 }, /* OR.B (xxx).L,Dn */ +{ CPUFUNC(op_803a_0), 0, 32826 }, /* OR.B (d16,PC),Dn */ +{ CPUFUNC(op_803b_3), 0, 32827 }, /* OR.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_803c_0), 0, 32828 }, /* OR.B #.B,Dn */ +{ CPUFUNC(op_8040_0), 0, 32832 }, /* OR.W Dn,Dn */ +{ CPUFUNC(op_8050_0), 0, 32848 }, /* OR.W (An),Dn */ +{ CPUFUNC(op_8058_0), 0, 32856 }, /* OR.W (An)+,Dn */ +{ CPUFUNC(op_8060_0), 0, 32864 }, /* OR.W -(An),Dn */ +{ CPUFUNC(op_8068_0), 0, 32872 }, /* OR.W (d16,An),Dn */ +{ CPUFUNC(op_8070_3), 0, 32880 }, /* OR.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_8078_0), 0, 32888 }, /* OR.W (xxx).W,Dn */ +{ CPUFUNC(op_8079_0), 0, 32889 }, /* OR.W (xxx).L,Dn */ +{ CPUFUNC(op_807a_0), 0, 32890 }, /* OR.W (d16,PC),Dn */ +{ CPUFUNC(op_807b_3), 0, 32891 }, /* OR.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_807c_0), 0, 32892 }, /* OR.W #.W,Dn */ +{ CPUFUNC(op_8080_0), 0, 32896 }, /* OR.L Dn,Dn */ +{ CPUFUNC(op_8090_0), 0, 32912 }, /* OR.L (An),Dn */ +{ CPUFUNC(op_8098_0), 0, 32920 }, /* OR.L (An)+,Dn */ +{ CPUFUNC(op_80a0_0), 0, 32928 }, /* OR.L -(An),Dn */ +{ CPUFUNC(op_80a8_0), 0, 32936 }, /* OR.L (d16,An),Dn */ +{ CPUFUNC(op_80b0_3), 0, 32944 }, /* OR.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_80b8_0), 0, 32952 }, /* OR.L (xxx).W,Dn */ +{ CPUFUNC(op_80b9_0), 0, 32953 }, /* OR.L (xxx).L,Dn */ +{ CPUFUNC(op_80ba_0), 0, 32954 }, /* OR.L (d16,PC),Dn */ +{ CPUFUNC(op_80bb_3), 0, 32955 }, /* OR.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80bc_0), 0, 32956 }, /* OR.L #.L,Dn */ +{ CPUFUNC(op_80c0_0), 0, 32960 }, /* DIVU.W Dn,Dn */ +{ CPUFUNC(op_80d0_0), 0, 32976 }, /* DIVU.W (An),Dn */ +{ CPUFUNC(op_80d8_0), 0, 32984 }, /* DIVU.W (An)+,Dn */ +{ CPUFUNC(op_80e0_0), 0, 32992 }, /* DIVU.W -(An),Dn */ +{ CPUFUNC(op_80e8_0), 0, 33000 }, /* DIVU.W (d16,An),Dn */ +{ CPUFUNC(op_80f0_3), 0, 33008 }, /* DIVU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_80f8_0), 0, 33016 }, /* DIVU.W (xxx).W,Dn */ +{ CPUFUNC(op_80f9_0), 0, 33017 }, /* DIVU.W (xxx).L,Dn */ +{ CPUFUNC(op_80fa_0), 0, 33018 }, /* DIVU.W (d16,PC),Dn */ +{ CPUFUNC(op_80fb_3), 0, 33019 }, /* DIVU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_80fc_0), 0, 33020 }, /* DIVU.W #.W,Dn */ +{ CPUFUNC(op_8100_1), 0, 33024 }, /* SBCD.B Dn,Dn */ +{ CPUFUNC(op_8108_1), 0, 33032 }, /* SBCD.B -(An),-(An) */ +{ CPUFUNC(op_8110_0), 0, 33040 }, /* OR.B Dn,(An) */ +{ CPUFUNC(op_8118_0), 0, 33048 }, /* OR.B Dn,(An)+ */ +{ CPUFUNC(op_8120_0), 0, 33056 }, /* OR.B Dn,-(An) */ +{ CPUFUNC(op_8128_0), 0, 33064 }, /* OR.B Dn,(d16,An) */ +{ CPUFUNC(op_8130_3), 0, 33072 }, /* OR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8138_0), 0, 33080 }, /* OR.B Dn,(xxx).W */ +{ CPUFUNC(op_8139_0), 0, 33081 }, /* OR.B Dn,(xxx).L */ +{ CPUFUNC(op_8150_0), 0, 33104 }, /* OR.W Dn,(An) */ +{ CPUFUNC(op_8158_0), 0, 33112 }, /* OR.W Dn,(An)+ */ +{ CPUFUNC(op_8160_0), 0, 33120 }, /* OR.W Dn,-(An) */ +{ CPUFUNC(op_8168_0), 0, 33128 }, /* OR.W Dn,(d16,An) */ +{ CPUFUNC(op_8170_3), 0, 33136 }, /* OR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_8178_0), 0, 33144 }, /* OR.W Dn,(xxx).W */ +{ CPUFUNC(op_8179_0), 0, 33145 }, /* OR.W Dn,(xxx).L */ +{ CPUFUNC(op_8190_0), 0, 33168 }, /* OR.L Dn,(An) */ +{ CPUFUNC(op_8198_0), 0, 33176 }, /* OR.L Dn,(An)+ */ +{ CPUFUNC(op_81a0_0), 0, 33184 }, /* OR.L Dn,-(An) */ +{ CPUFUNC(op_81a8_0), 0, 33192 }, /* OR.L Dn,(d16,An) */ +{ CPUFUNC(op_81b0_3), 0, 33200 }, /* OR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_81b8_0), 0, 33208 }, /* OR.L Dn,(xxx).W */ +{ CPUFUNC(op_81b9_0), 0, 33209 }, /* OR.L Dn,(xxx).L */ +{ CPUFUNC(op_81c0_0), 0, 33216 }, /* DIVS.W Dn,Dn */ +{ CPUFUNC(op_81d0_0), 0, 33232 }, /* DIVS.W (An),Dn */ +{ CPUFUNC(op_81d8_0), 0, 33240 }, /* DIVS.W (An)+,Dn */ +{ CPUFUNC(op_81e0_0), 0, 33248 }, /* DIVS.W -(An),Dn */ +{ CPUFUNC(op_81e8_0), 0, 33256 }, /* DIVS.W (d16,An),Dn */ +{ CPUFUNC(op_81f0_3), 0, 33264 }, /* DIVS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_81f8_0), 0, 33272 }, /* DIVS.W (xxx).W,Dn */ +{ CPUFUNC(op_81f9_0), 0, 33273 }, /* DIVS.W (xxx).L,Dn */ +{ CPUFUNC(op_81fa_0), 0, 33274 }, /* DIVS.W (d16,PC),Dn */ +{ CPUFUNC(op_81fb_3), 0, 33275 }, /* DIVS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_81fc_0), 0, 33276 }, /* DIVS.W #.W,Dn */ +{ CPUFUNC(op_9000_0), 0, 36864 }, /* SUB.B Dn,Dn */ +{ CPUFUNC(op_9010_0), 0, 36880 }, /* SUB.B (An),Dn */ +{ CPUFUNC(op_9018_0), 0, 36888 }, /* SUB.B (An)+,Dn */ +{ CPUFUNC(op_9020_0), 0, 36896 }, /* SUB.B -(An),Dn */ +{ CPUFUNC(op_9028_0), 0, 36904 }, /* SUB.B (d16,An),Dn */ +{ CPUFUNC(op_9030_3), 0, 36912 }, /* SUB.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_9038_0), 0, 36920 }, /* SUB.B (xxx).W,Dn */ +{ CPUFUNC(op_9039_0), 0, 36921 }, /* SUB.B (xxx).L,Dn */ +{ CPUFUNC(op_903a_0), 0, 36922 }, /* SUB.B (d16,PC),Dn */ +{ CPUFUNC(op_903b_3), 0, 36923 }, /* SUB.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_903c_0), 0, 36924 }, /* SUB.B #.B,Dn */ +{ CPUFUNC(op_9040_0), 0, 36928 }, /* SUB.W Dn,Dn */ +{ CPUFUNC(op_9048_0), 0, 36936 }, /* SUB.W An,Dn */ +{ CPUFUNC(op_9050_0), 0, 36944 }, /* SUB.W (An),Dn */ +{ CPUFUNC(op_9058_0), 0, 36952 }, /* SUB.W (An)+,Dn */ +{ CPUFUNC(op_9060_0), 0, 36960 }, /* SUB.W -(An),Dn */ +{ CPUFUNC(op_9068_0), 0, 36968 }, /* SUB.W (d16,An),Dn */ +{ CPUFUNC(op_9070_3), 0, 36976 }, /* SUB.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_9078_0), 0, 36984 }, /* SUB.W (xxx).W,Dn */ +{ CPUFUNC(op_9079_0), 0, 36985 }, /* SUB.W (xxx).L,Dn */ +{ CPUFUNC(op_907a_0), 0, 36986 }, /* SUB.W (d16,PC),Dn */ +{ CPUFUNC(op_907b_3), 0, 36987 }, /* SUB.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_907c_0), 0, 36988 }, /* SUB.W #.W,Dn */ +{ CPUFUNC(op_9080_0), 0, 36992 }, /* SUB.L Dn,Dn */ +{ CPUFUNC(op_9088_0), 0, 37000 }, /* SUB.L An,Dn */ +{ CPUFUNC(op_9090_0), 0, 37008 }, /* SUB.L (An),Dn */ +{ CPUFUNC(op_9098_0), 0, 37016 }, /* SUB.L (An)+,Dn */ +{ CPUFUNC(op_90a0_0), 0, 37024 }, /* SUB.L -(An),Dn */ +{ CPUFUNC(op_90a8_0), 0, 37032 }, /* SUB.L (d16,An),Dn */ +{ CPUFUNC(op_90b0_3), 0, 37040 }, /* SUB.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_90b8_0), 0, 37048 }, /* SUB.L (xxx).W,Dn */ +{ CPUFUNC(op_90b9_0), 0, 37049 }, /* SUB.L (xxx).L,Dn */ +{ CPUFUNC(op_90ba_0), 0, 37050 }, /* SUB.L (d16,PC),Dn */ +{ CPUFUNC(op_90bb_3), 0, 37051 }, /* SUB.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_90bc_0), 0, 37052 }, /* SUB.L #.L,Dn */ +{ CPUFUNC_FF(op_90c0_0), 0, 37056 }, /* SUBA.W Dn,An */ +{ CPUFUNC_FF(op_90c8_0), 0, 37064 }, /* SUBA.W An,An */ +{ CPUFUNC_FF(op_90d0_0), 0, 37072 }, /* SUBA.W (An),An */ +{ CPUFUNC_FF(op_90d8_0), 0, 37080 }, /* SUBA.W (An)+,An */ +{ CPUFUNC_FF(op_90e0_0), 0, 37088 }, /* SUBA.W -(An),An */ +{ CPUFUNC_FF(op_90e8_0), 0, 37096 }, /* SUBA.W (d16,An),An */ +{ CPUFUNC_FF(op_90f0_3), 0, 37104 }, /* SUBA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_90f8_0), 0, 37112 }, /* SUBA.W (xxx).W,An */ +{ CPUFUNC_FF(op_90f9_0), 0, 37113 }, /* SUBA.W (xxx).L,An */ +{ CPUFUNC_FF(op_90fa_0), 0, 37114 }, /* SUBA.W (d16,PC),An */ +{ CPUFUNC_FF(op_90fb_3), 0, 37115 }, /* SUBA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_90fc_0), 0, 37116 }, /* SUBA.W #.W,An */ +{ CPUFUNC(op_9100_0), 0, 37120 }, /* SUBX.B Dn,Dn */ +{ CPUFUNC(op_9108_0), 0, 37128 }, /* SUBX.B -(An),-(An) */ +{ CPUFUNC(op_9110_0), 0, 37136 }, /* SUB.B Dn,(An) */ +{ CPUFUNC(op_9118_0), 0, 37144 }, /* SUB.B Dn,(An)+ */ +{ CPUFUNC(op_9120_0), 0, 37152 }, /* SUB.B Dn,-(An) */ +{ CPUFUNC(op_9128_0), 0, 37160 }, /* SUB.B Dn,(d16,An) */ +{ CPUFUNC(op_9130_3), 0, 37168 }, /* SUB.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9138_0), 0, 37176 }, /* SUB.B Dn,(xxx).W */ +{ CPUFUNC(op_9139_0), 0, 37177 }, /* SUB.B Dn,(xxx).L */ +{ CPUFUNC(op_9140_0), 0, 37184 }, /* SUBX.W Dn,Dn */ +{ CPUFUNC(op_9148_0), 0, 37192 }, /* SUBX.W -(An),-(An) */ +{ CPUFUNC(op_9150_0), 0, 37200 }, /* SUB.W Dn,(An) */ +{ CPUFUNC(op_9158_0), 0, 37208 }, /* SUB.W Dn,(An)+ */ +{ CPUFUNC(op_9160_0), 0, 37216 }, /* SUB.W Dn,-(An) */ +{ CPUFUNC(op_9168_0), 0, 37224 }, /* SUB.W Dn,(d16,An) */ +{ CPUFUNC(op_9170_3), 0, 37232 }, /* SUB.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_9178_0), 0, 37240 }, /* SUB.W Dn,(xxx).W */ +{ CPUFUNC(op_9179_0), 0, 37241 }, /* SUB.W Dn,(xxx).L */ +{ CPUFUNC(op_9180_0), 0, 37248 }, /* SUBX.L Dn,Dn */ +{ CPUFUNC(op_9188_0), 0, 37256 }, /* SUBX.L -(An),-(An) */ +{ CPUFUNC(op_9190_0), 0, 37264 }, /* SUB.L Dn,(An) */ +{ CPUFUNC(op_9198_0), 0, 37272 }, /* SUB.L Dn,(An)+ */ +{ CPUFUNC(op_91a0_0), 0, 37280 }, /* SUB.L Dn,-(An) */ +{ CPUFUNC(op_91a8_0), 0, 37288 }, /* SUB.L Dn,(d16,An) */ +{ CPUFUNC(op_91b0_3), 0, 37296 }, /* SUB.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_91b8_0), 0, 37304 }, /* SUB.L Dn,(xxx).W */ +{ CPUFUNC(op_91b9_0), 0, 37305 }, /* SUB.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_91c0_0), 0, 37312 }, /* SUBA.L Dn,An */ +{ CPUFUNC_FF(op_91c8_0), 0, 37320 }, /* SUBA.L An,An */ +{ CPUFUNC_FF(op_91d0_0), 0, 37328 }, /* SUBA.L (An),An */ +{ CPUFUNC_FF(op_91d8_0), 0, 37336 }, /* SUBA.L (An)+,An */ +{ CPUFUNC_FF(op_91e0_0), 0, 37344 }, /* SUBA.L -(An),An */ +{ CPUFUNC_FF(op_91e8_0), 0, 37352 }, /* SUBA.L (d16,An),An */ +{ CPUFUNC_FF(op_91f0_3), 0, 37360 }, /* SUBA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_91f8_0), 0, 37368 }, /* SUBA.L (xxx).W,An */ +{ CPUFUNC_FF(op_91f9_0), 0, 37369 }, /* SUBA.L (xxx).L,An */ +{ CPUFUNC_FF(op_91fa_0), 0, 37370 }, /* SUBA.L (d16,PC),An */ +{ CPUFUNC_FF(op_91fb_3), 0, 37371 }, /* SUBA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_91fc_0), 0, 37372 }, /* SUBA.L #.L,An */ +{ CPUFUNC(op_b000_0), 0, 45056 }, /* CMP.B Dn,Dn */ +{ CPUFUNC(op_b010_0), 0, 45072 }, /* CMP.B (An),Dn */ +{ CPUFUNC(op_b018_0), 0, 45080 }, /* CMP.B (An)+,Dn */ +{ CPUFUNC(op_b020_0), 0, 45088 }, /* CMP.B -(An),Dn */ +{ CPUFUNC(op_b028_0), 0, 45096 }, /* CMP.B (d16,An),Dn */ +{ CPUFUNC(op_b030_3), 0, 45104 }, /* CMP.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_b038_0), 0, 45112 }, /* CMP.B (xxx).W,Dn */ +{ CPUFUNC(op_b039_0), 0, 45113 }, /* CMP.B (xxx).L,Dn */ +{ CPUFUNC(op_b03a_0), 0, 45114 }, /* CMP.B (d16,PC),Dn */ +{ CPUFUNC(op_b03b_3), 0, 45115 }, /* CMP.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b03c_0), 0, 45116 }, /* CMP.B #.B,Dn */ +{ CPUFUNC(op_b040_0), 0, 45120 }, /* CMP.W Dn,Dn */ +{ CPUFUNC(op_b048_0), 0, 45128 }, /* CMP.W An,Dn */ +{ CPUFUNC(op_b050_0), 0, 45136 }, /* CMP.W (An),Dn */ +{ CPUFUNC(op_b058_0), 0, 45144 }, /* CMP.W (An)+,Dn */ +{ CPUFUNC(op_b060_0), 0, 45152 }, /* CMP.W -(An),Dn */ +{ CPUFUNC(op_b068_0), 0, 45160 }, /* CMP.W (d16,An),Dn */ +{ CPUFUNC(op_b070_3), 0, 45168 }, /* CMP.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_b078_0), 0, 45176 }, /* CMP.W (xxx).W,Dn */ +{ CPUFUNC(op_b079_0), 0, 45177 }, /* CMP.W (xxx).L,Dn */ +{ CPUFUNC(op_b07a_0), 0, 45178 }, /* CMP.W (d16,PC),Dn */ +{ CPUFUNC(op_b07b_3), 0, 45179 }, /* CMP.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b07c_0), 0, 45180 }, /* CMP.W #.W,Dn */ +{ CPUFUNC(op_b080_0), 0, 45184 }, /* CMP.L Dn,Dn */ +{ CPUFUNC(op_b088_0), 0, 45192 }, /* CMP.L An,Dn */ +{ CPUFUNC(op_b090_0), 0, 45200 }, /* CMP.L (An),Dn */ +{ CPUFUNC(op_b098_0), 0, 45208 }, /* CMP.L (An)+,Dn */ +{ CPUFUNC(op_b0a0_0), 0, 45216 }, /* CMP.L -(An),Dn */ +{ CPUFUNC(op_b0a8_0), 0, 45224 }, /* CMP.L (d16,An),Dn */ +{ CPUFUNC(op_b0b0_3), 0, 45232 }, /* CMP.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_b0b8_0), 0, 45240 }, /* CMP.L (xxx).W,Dn */ +{ CPUFUNC(op_b0b9_0), 0, 45241 }, /* CMP.L (xxx).L,Dn */ +{ CPUFUNC(op_b0ba_0), 0, 45242 }, /* CMP.L (d16,PC),Dn */ +{ CPUFUNC(op_b0bb_3), 0, 45243 }, /* CMP.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_b0bc_0), 0, 45244 }, /* CMP.L #.L,Dn */ +{ CPUFUNC(op_b0c0_0), 0, 45248 }, /* CMPA.W Dn,An */ +{ CPUFUNC(op_b0c8_0), 0, 45256 }, /* CMPA.W An,An */ +{ CPUFUNC(op_b0d0_0), 0, 45264 }, /* CMPA.W (An),An */ +{ CPUFUNC(op_b0d8_0), 0, 45272 }, /* CMPA.W (An)+,An */ +{ CPUFUNC(op_b0e0_0), 0, 45280 }, /* CMPA.W -(An),An */ +{ CPUFUNC(op_b0e8_0), 0, 45288 }, /* CMPA.W (d16,An),An */ +{ CPUFUNC(op_b0f0_3), 0, 45296 }, /* CMPA.W (d8,An,Xn),An */ +{ CPUFUNC(op_b0f8_0), 0, 45304 }, /* CMPA.W (xxx).W,An */ +{ CPUFUNC(op_b0f9_0), 0, 45305 }, /* CMPA.W (xxx).L,An */ +{ CPUFUNC(op_b0fa_0), 0, 45306 }, /* CMPA.W (d16,PC),An */ +{ CPUFUNC(op_b0fb_3), 0, 45307 }, /* CMPA.W (d8,PC,Xn),An */ +{ CPUFUNC(op_b0fc_0), 0, 45308 }, /* CMPA.W #.W,An */ +{ CPUFUNC(op_b100_0), 0, 45312 }, /* EOR.B Dn,Dn */ +{ CPUFUNC(op_b108_0), 0, 45320 }, /* CMPM.B (An)+,(An)+ */ +{ CPUFUNC(op_b110_0), 0, 45328 }, /* EOR.B Dn,(An) */ +{ CPUFUNC(op_b118_0), 0, 45336 }, /* EOR.B Dn,(An)+ */ +{ CPUFUNC(op_b120_0), 0, 45344 }, /* EOR.B Dn,-(An) */ +{ CPUFUNC(op_b128_0), 0, 45352 }, /* EOR.B Dn,(d16,An) */ +{ CPUFUNC(op_b130_3), 0, 45360 }, /* EOR.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b138_0), 0, 45368 }, /* EOR.B Dn,(xxx).W */ +{ CPUFUNC(op_b139_0), 0, 45369 }, /* EOR.B Dn,(xxx).L */ +{ CPUFUNC(op_b140_0), 0, 45376 }, /* EOR.W Dn,Dn */ +{ CPUFUNC(op_b148_0), 0, 45384 }, /* CMPM.W (An)+,(An)+ */ +{ CPUFUNC(op_b150_0), 0, 45392 }, /* EOR.W Dn,(An) */ +{ CPUFUNC(op_b158_0), 0, 45400 }, /* EOR.W Dn,(An)+ */ +{ CPUFUNC(op_b160_0), 0, 45408 }, /* EOR.W Dn,-(An) */ +{ CPUFUNC(op_b168_0), 0, 45416 }, /* EOR.W Dn,(d16,An) */ +{ CPUFUNC(op_b170_3), 0, 45424 }, /* EOR.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b178_0), 0, 45432 }, /* EOR.W Dn,(xxx).W */ +{ CPUFUNC(op_b179_0), 0, 45433 }, /* EOR.W Dn,(xxx).L */ +{ CPUFUNC(op_b180_0), 0, 45440 }, /* EOR.L Dn,Dn */ +{ CPUFUNC(op_b188_0), 0, 45448 }, /* CMPM.L (An)+,(An)+ */ +{ CPUFUNC(op_b190_0), 0, 45456 }, /* EOR.L Dn,(An) */ +{ CPUFUNC(op_b198_0), 0, 45464 }, /* EOR.L Dn,(An)+ */ +{ CPUFUNC(op_b1a0_0), 0, 45472 }, /* EOR.L Dn,-(An) */ +{ CPUFUNC(op_b1a8_0), 0, 45480 }, /* EOR.L Dn,(d16,An) */ +{ CPUFUNC(op_b1b0_3), 0, 45488 }, /* EOR.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_b1b8_0), 0, 45496 }, /* EOR.L Dn,(xxx).W */ +{ CPUFUNC(op_b1b9_0), 0, 45497 }, /* EOR.L Dn,(xxx).L */ +{ CPUFUNC(op_b1c0_0), 0, 45504 }, /* CMPA.L Dn,An */ +{ CPUFUNC(op_b1c8_0), 0, 45512 }, /* CMPA.L An,An */ +{ CPUFUNC(op_b1d0_0), 0, 45520 }, /* CMPA.L (An),An */ +{ CPUFUNC(op_b1d8_0), 0, 45528 }, /* CMPA.L (An)+,An */ +{ CPUFUNC(op_b1e0_0), 0, 45536 }, /* CMPA.L -(An),An */ +{ CPUFUNC(op_b1e8_0), 0, 45544 }, /* CMPA.L (d16,An),An */ +{ CPUFUNC(op_b1f0_3), 0, 45552 }, /* CMPA.L (d8,An,Xn),An */ +{ CPUFUNC(op_b1f8_0), 0, 45560 }, /* CMPA.L (xxx).W,An */ +{ CPUFUNC(op_b1f9_0), 0, 45561 }, /* CMPA.L (xxx).L,An */ +{ CPUFUNC(op_b1fa_0), 0, 45562 }, /* CMPA.L (d16,PC),An */ +{ CPUFUNC(op_b1fb_3), 0, 45563 }, /* CMPA.L (d8,PC,Xn),An */ +{ CPUFUNC(op_b1fc_0), 0, 45564 }, /* CMPA.L #.L,An */ +{ CPUFUNC(op_c000_0), 0, 49152 }, /* AND.B Dn,Dn */ +{ CPUFUNC(op_c010_0), 0, 49168 }, /* AND.B (An),Dn */ +{ CPUFUNC(op_c018_0), 0, 49176 }, /* AND.B (An)+,Dn */ +{ CPUFUNC(op_c020_0), 0, 49184 }, /* AND.B -(An),Dn */ +{ CPUFUNC(op_c028_0), 0, 49192 }, /* AND.B (d16,An),Dn */ +{ CPUFUNC(op_c030_3), 0, 49200 }, /* AND.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_c038_0), 0, 49208 }, /* AND.B (xxx).W,Dn */ +{ CPUFUNC(op_c039_0), 0, 49209 }, /* AND.B (xxx).L,Dn */ +{ CPUFUNC(op_c03a_0), 0, 49210 }, /* AND.B (d16,PC),Dn */ +{ CPUFUNC(op_c03b_3), 0, 49211 }, /* AND.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c03c_0), 0, 49212 }, /* AND.B #.B,Dn */ +{ CPUFUNC(op_c040_0), 0, 49216 }, /* AND.W Dn,Dn */ +{ CPUFUNC(op_c050_0), 0, 49232 }, /* AND.W (An),Dn */ +{ CPUFUNC(op_c058_0), 0, 49240 }, /* AND.W (An)+,Dn */ +{ CPUFUNC(op_c060_0), 0, 49248 }, /* AND.W -(An),Dn */ +{ CPUFUNC(op_c068_0), 0, 49256 }, /* AND.W (d16,An),Dn */ +{ CPUFUNC(op_c070_3), 0, 49264 }, /* AND.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c078_0), 0, 49272 }, /* AND.W (xxx).W,Dn */ +{ CPUFUNC(op_c079_0), 0, 49273 }, /* AND.W (xxx).L,Dn */ +{ CPUFUNC(op_c07a_0), 0, 49274 }, /* AND.W (d16,PC),Dn */ +{ CPUFUNC(op_c07b_3), 0, 49275 }, /* AND.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c07c_0), 0, 49276 }, /* AND.W #.W,Dn */ +{ CPUFUNC(op_c080_0), 0, 49280 }, /* AND.L Dn,Dn */ +{ CPUFUNC(op_c090_0), 0, 49296 }, /* AND.L (An),Dn */ +{ CPUFUNC(op_c098_0), 0, 49304 }, /* AND.L (An)+,Dn */ +{ CPUFUNC(op_c0a0_0), 0, 49312 }, /* AND.L -(An),Dn */ +{ CPUFUNC(op_c0a8_0), 0, 49320 }, /* AND.L (d16,An),Dn */ +{ CPUFUNC(op_c0b0_3), 0, 49328 }, /* AND.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0b8_0), 0, 49336 }, /* AND.L (xxx).W,Dn */ +{ CPUFUNC(op_c0b9_0), 0, 49337 }, /* AND.L (xxx).L,Dn */ +{ CPUFUNC(op_c0ba_0), 0, 49338 }, /* AND.L (d16,PC),Dn */ +{ CPUFUNC(op_c0bb_3), 0, 49339 }, /* AND.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0bc_0), 0, 49340 }, /* AND.L #.L,Dn */ +{ CPUFUNC(op_c0c0_0), 0, 49344 }, /* MULU.W Dn,Dn */ +{ CPUFUNC(op_c0d0_0), 0, 49360 }, /* MULU.W (An),Dn */ +{ CPUFUNC(op_c0d8_0), 0, 49368 }, /* MULU.W (An)+,Dn */ +{ CPUFUNC(op_c0e0_0), 0, 49376 }, /* MULU.W -(An),Dn */ +{ CPUFUNC(op_c0e8_0), 0, 49384 }, /* MULU.W (d16,An),Dn */ +{ CPUFUNC(op_c0f0_3), 0, 49392 }, /* MULU.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c0f8_0), 0, 49400 }, /* MULU.W (xxx).W,Dn */ +{ CPUFUNC(op_c0f9_0), 0, 49401 }, /* MULU.W (xxx).L,Dn */ +{ CPUFUNC(op_c0fa_0), 0, 49402 }, /* MULU.W (d16,PC),Dn */ +{ CPUFUNC(op_c0fb_3), 0, 49403 }, /* MULU.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c0fc_0), 0, 49404 }, /* MULU.W #.W,Dn */ +{ CPUFUNC(op_c100_1), 0, 49408 }, /* ABCD.B Dn,Dn */ +{ CPUFUNC(op_c108_1), 0, 49416 }, /* ABCD.B -(An),-(An) */ +{ CPUFUNC(op_c110_0), 0, 49424 }, /* AND.B Dn,(An) */ +{ CPUFUNC(op_c118_0), 0, 49432 }, /* AND.B Dn,(An)+ */ +{ CPUFUNC(op_c120_0), 0, 49440 }, /* AND.B Dn,-(An) */ +{ CPUFUNC(op_c128_0), 0, 49448 }, /* AND.B Dn,(d16,An) */ +{ CPUFUNC(op_c130_3), 0, 49456 }, /* AND.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c138_0), 0, 49464 }, /* AND.B Dn,(xxx).W */ +{ CPUFUNC(op_c139_0), 0, 49465 }, /* AND.B Dn,(xxx).L */ +{ CPUFUNC_FF(op_c140_0), 0, 49472 }, /* EXG.L Dn,Dn */ +{ CPUFUNC_FF(op_c148_0), 0, 49480 }, /* EXG.L An,An */ +{ CPUFUNC(op_c150_0), 0, 49488 }, /* AND.W Dn,(An) */ +{ CPUFUNC(op_c158_0), 0, 49496 }, /* AND.W Dn,(An)+ */ +{ CPUFUNC(op_c160_0), 0, 49504 }, /* AND.W Dn,-(An) */ +{ CPUFUNC(op_c168_0), 0, 49512 }, /* AND.W Dn,(d16,An) */ +{ CPUFUNC(op_c170_3), 0, 49520 }, /* AND.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c178_0), 0, 49528 }, /* AND.W Dn,(xxx).W */ +{ CPUFUNC(op_c179_0), 0, 49529 }, /* AND.W Dn,(xxx).L */ +{ CPUFUNC_FF(op_c188_0), 0, 49544 }, /* EXG.L Dn,An */ +{ CPUFUNC(op_c190_0), 0, 49552 }, /* AND.L Dn,(An) */ +{ CPUFUNC(op_c198_0), 0, 49560 }, /* AND.L Dn,(An)+ */ +{ CPUFUNC(op_c1a0_0), 0, 49568 }, /* AND.L Dn,-(An) */ +{ CPUFUNC(op_c1a8_0), 0, 49576 }, /* AND.L Dn,(d16,An) */ +{ CPUFUNC(op_c1b0_3), 0, 49584 }, /* AND.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_c1b8_0), 0, 49592 }, /* AND.L Dn,(xxx).W */ +{ CPUFUNC(op_c1b9_0), 0, 49593 }, /* AND.L Dn,(xxx).L */ +{ CPUFUNC(op_c1c0_0), 0, 49600 }, /* MULS.W Dn,Dn */ +{ CPUFUNC(op_c1d0_0), 0, 49616 }, /* MULS.W (An),Dn */ +{ CPUFUNC(op_c1d8_0), 0, 49624 }, /* MULS.W (An)+,Dn */ +{ CPUFUNC(op_c1e0_0), 0, 49632 }, /* MULS.W -(An),Dn */ +{ CPUFUNC(op_c1e8_0), 0, 49640 }, /* MULS.W (d16,An),Dn */ +{ CPUFUNC(op_c1f0_3), 0, 49648 }, /* MULS.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_c1f8_0), 0, 49656 }, /* MULS.W (xxx).W,Dn */ +{ CPUFUNC(op_c1f9_0), 0, 49657 }, /* MULS.W (xxx).L,Dn */ +{ CPUFUNC(op_c1fa_0), 0, 49658 }, /* MULS.W (d16,PC),Dn */ +{ CPUFUNC(op_c1fb_3), 0, 49659 }, /* MULS.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_c1fc_0), 0, 49660 }, /* MULS.W #.W,Dn */ +{ CPUFUNC(op_d000_0), 0, 53248 }, /* ADD.B Dn,Dn */ +{ CPUFUNC(op_d010_0), 0, 53264 }, /* ADD.B (An),Dn */ +{ CPUFUNC(op_d018_0), 0, 53272 }, /* ADD.B (An)+,Dn */ +{ CPUFUNC(op_d020_0), 0, 53280 }, /* ADD.B -(An),Dn */ +{ CPUFUNC(op_d028_0), 0, 53288 }, /* ADD.B (d16,An),Dn */ +{ CPUFUNC(op_d030_3), 0, 53296 }, /* ADD.B (d8,An,Xn),Dn */ +{ CPUFUNC(op_d038_0), 0, 53304 }, /* ADD.B (xxx).W,Dn */ +{ CPUFUNC(op_d039_0), 0, 53305 }, /* ADD.B (xxx).L,Dn */ +{ CPUFUNC(op_d03a_0), 0, 53306 }, /* ADD.B (d16,PC),Dn */ +{ CPUFUNC(op_d03b_3), 0, 53307 }, /* ADD.B (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d03c_0), 0, 53308 }, /* ADD.B #.B,Dn */ +{ CPUFUNC(op_d040_0), 0, 53312 }, /* ADD.W Dn,Dn */ +{ CPUFUNC(op_d048_0), 0, 53320 }, /* ADD.W An,Dn */ +{ CPUFUNC(op_d050_0), 0, 53328 }, /* ADD.W (An),Dn */ +{ CPUFUNC(op_d058_0), 0, 53336 }, /* ADD.W (An)+,Dn */ +{ CPUFUNC(op_d060_0), 0, 53344 }, /* ADD.W -(An),Dn */ +{ CPUFUNC(op_d068_0), 0, 53352 }, /* ADD.W (d16,An),Dn */ +{ CPUFUNC(op_d070_3), 0, 53360 }, /* ADD.W (d8,An,Xn),Dn */ +{ CPUFUNC(op_d078_0), 0, 53368 }, /* ADD.W (xxx).W,Dn */ +{ CPUFUNC(op_d079_0), 0, 53369 }, /* ADD.W (xxx).L,Dn */ +{ CPUFUNC(op_d07a_0), 0, 53370 }, /* ADD.W (d16,PC),Dn */ +{ CPUFUNC(op_d07b_3), 0, 53371 }, /* ADD.W (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d07c_0), 0, 53372 }, /* ADD.W #.W,Dn */ +{ CPUFUNC(op_d080_0), 0, 53376 }, /* ADD.L Dn,Dn */ +{ CPUFUNC(op_d088_0), 0, 53384 }, /* ADD.L An,Dn */ +{ CPUFUNC(op_d090_0), 0, 53392 }, /* ADD.L (An),Dn */ +{ CPUFUNC(op_d098_0), 0, 53400 }, /* ADD.L (An)+,Dn */ +{ CPUFUNC(op_d0a0_0), 0, 53408 }, /* ADD.L -(An),Dn */ +{ CPUFUNC(op_d0a8_0), 0, 53416 }, /* ADD.L (d16,An),Dn */ +{ CPUFUNC(op_d0b0_3), 0, 53424 }, /* ADD.L (d8,An,Xn),Dn */ +{ CPUFUNC(op_d0b8_0), 0, 53432 }, /* ADD.L (xxx).W,Dn */ +{ CPUFUNC(op_d0b9_0), 0, 53433 }, /* ADD.L (xxx).L,Dn */ +{ CPUFUNC(op_d0ba_0), 0, 53434 }, /* ADD.L (d16,PC),Dn */ +{ CPUFUNC(op_d0bb_3), 0, 53435 }, /* ADD.L (d8,PC,Xn),Dn */ +{ CPUFUNC(op_d0bc_0), 0, 53436 }, /* ADD.L #.L,Dn */ +{ CPUFUNC_FF(op_d0c0_0), 0, 53440 }, /* ADDA.W Dn,An */ +{ CPUFUNC_FF(op_d0c8_0), 0, 53448 }, /* ADDA.W An,An */ +{ CPUFUNC_FF(op_d0d0_0), 0, 53456 }, /* ADDA.W (An),An */ +{ CPUFUNC_FF(op_d0d8_0), 0, 53464 }, /* ADDA.W (An)+,An */ +{ CPUFUNC_FF(op_d0e0_0), 0, 53472 }, /* ADDA.W -(An),An */ +{ CPUFUNC_FF(op_d0e8_0), 0, 53480 }, /* ADDA.W (d16,An),An */ +{ CPUFUNC_FF(op_d0f0_3), 0, 53488 }, /* ADDA.W (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d0f8_0), 0, 53496 }, /* ADDA.W (xxx).W,An */ +{ CPUFUNC_FF(op_d0f9_0), 0, 53497 }, /* ADDA.W (xxx).L,An */ +{ CPUFUNC_FF(op_d0fa_0), 0, 53498 }, /* ADDA.W (d16,PC),An */ +{ CPUFUNC_FF(op_d0fb_3), 0, 53499 }, /* ADDA.W (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d0fc_0), 0, 53500 }, /* ADDA.W #.W,An */ +{ CPUFUNC(op_d100_0), 0, 53504 }, /* ADDX.B Dn,Dn */ +{ CPUFUNC(op_d108_0), 0, 53512 }, /* ADDX.B -(An),-(An) */ +{ CPUFUNC(op_d110_0), 0, 53520 }, /* ADD.B Dn,(An) */ +{ CPUFUNC(op_d118_0), 0, 53528 }, /* ADD.B Dn,(An)+ */ +{ CPUFUNC(op_d120_0), 0, 53536 }, /* ADD.B Dn,-(An) */ +{ CPUFUNC(op_d128_0), 0, 53544 }, /* ADD.B Dn,(d16,An) */ +{ CPUFUNC(op_d130_3), 0, 53552 }, /* ADD.B Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d138_0), 0, 53560 }, /* ADD.B Dn,(xxx).W */ +{ CPUFUNC(op_d139_0), 0, 53561 }, /* ADD.B Dn,(xxx).L */ +{ CPUFUNC(op_d140_0), 0, 53568 }, /* ADDX.W Dn,Dn */ +{ CPUFUNC(op_d148_0), 0, 53576 }, /* ADDX.W -(An),-(An) */ +{ CPUFUNC(op_d150_0), 0, 53584 }, /* ADD.W Dn,(An) */ +{ CPUFUNC(op_d158_0), 0, 53592 }, /* ADD.W Dn,(An)+ */ +{ CPUFUNC(op_d160_0), 0, 53600 }, /* ADD.W Dn,-(An) */ +{ CPUFUNC(op_d168_0), 0, 53608 }, /* ADD.W Dn,(d16,An) */ +{ CPUFUNC(op_d170_3), 0, 53616 }, /* ADD.W Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d178_0), 0, 53624 }, /* ADD.W Dn,(xxx).W */ +{ CPUFUNC(op_d179_0), 0, 53625 }, /* ADD.W Dn,(xxx).L */ +{ CPUFUNC(op_d180_0), 0, 53632 }, /* ADDX.L Dn,Dn */ +{ CPUFUNC(op_d188_0), 0, 53640 }, /* ADDX.L -(An),-(An) */ +{ CPUFUNC(op_d190_0), 0, 53648 }, /* ADD.L Dn,(An) */ +{ CPUFUNC(op_d198_0), 0, 53656 }, /* ADD.L Dn,(An)+ */ +{ CPUFUNC(op_d1a0_0), 0, 53664 }, /* ADD.L Dn,-(An) */ +{ CPUFUNC(op_d1a8_0), 0, 53672 }, /* ADD.L Dn,(d16,An) */ +{ CPUFUNC(op_d1b0_3), 0, 53680 }, /* ADD.L Dn,(d8,An,Xn) */ +{ CPUFUNC(op_d1b8_0), 0, 53688 }, /* ADD.L Dn,(xxx).W */ +{ CPUFUNC(op_d1b9_0), 0, 53689 }, /* ADD.L Dn,(xxx).L */ +{ CPUFUNC_FF(op_d1c0_0), 0, 53696 }, /* ADDA.L Dn,An */ +{ CPUFUNC_FF(op_d1c8_0), 0, 53704 }, /* ADDA.L An,An */ +{ CPUFUNC_FF(op_d1d0_0), 0, 53712 }, /* ADDA.L (An),An */ +{ CPUFUNC_FF(op_d1d8_0), 0, 53720 }, /* ADDA.L (An)+,An */ +{ CPUFUNC_FF(op_d1e0_0), 0, 53728 }, /* ADDA.L -(An),An */ +{ CPUFUNC_FF(op_d1e8_0), 0, 53736 }, /* ADDA.L (d16,An),An */ +{ CPUFUNC_FF(op_d1f0_3), 0, 53744 }, /* ADDA.L (d8,An,Xn),An */ +{ CPUFUNC_FF(op_d1f8_0), 0, 53752 }, /* ADDA.L (xxx).W,An */ +{ CPUFUNC_FF(op_d1f9_0), 0, 53753 }, /* ADDA.L (xxx).L,An */ +{ CPUFUNC_FF(op_d1fa_0), 0, 53754 }, /* ADDA.L (d16,PC),An */ +{ CPUFUNC_FF(op_d1fb_3), 0, 53755 }, /* ADDA.L (d8,PC,Xn),An */ +{ CPUFUNC_FF(op_d1fc_0), 0, 53756 }, /* ADDA.L #.L,An */ +{ CPUFUNC(op_e000_0), 0, 57344 }, /* ASR.B #,Dn */ +{ CPUFUNC(op_e008_0), 0, 57352 }, /* LSR.B #,Dn */ +{ CPUFUNC(op_e010_0), 0, 57360 }, /* ROXR.B #,Dn */ +{ CPUFUNC(op_e018_0), 0, 57368 }, /* ROR.B #,Dn */ +{ CPUFUNC(op_e020_0), 0, 57376 }, /* ASR.B Dn,Dn */ +{ CPUFUNC(op_e028_0), 0, 57384 }, /* LSR.B Dn,Dn */ +{ CPUFUNC(op_e030_0), 0, 57392 }, /* ROXR.B Dn,Dn */ +{ CPUFUNC(op_e038_0), 0, 57400 }, /* ROR.B Dn,Dn */ +{ CPUFUNC(op_e040_0), 0, 57408 }, /* ASR.W #,Dn */ +{ CPUFUNC(op_e048_0), 0, 57416 }, /* LSR.W #,Dn */ +{ CPUFUNC(op_e050_0), 0, 57424 }, /* ROXR.W #,Dn */ +{ CPUFUNC(op_e058_0), 0, 57432 }, /* ROR.W #,Dn */ +{ CPUFUNC(op_e060_0), 0, 57440 }, /* ASR.W Dn,Dn */ +{ CPUFUNC(op_e068_0), 0, 57448 }, /* LSR.W Dn,Dn */ +{ CPUFUNC(op_e070_0), 0, 57456 }, /* ROXR.W Dn,Dn */ +{ CPUFUNC(op_e078_0), 0, 57464 }, /* ROR.W Dn,Dn */ +{ CPUFUNC(op_e080_0), 0, 57472 }, /* ASR.L #,Dn */ +{ CPUFUNC(op_e088_0), 0, 57480 }, /* LSR.L #,Dn */ +{ CPUFUNC(op_e090_0), 0, 57488 }, /* ROXR.L #,Dn */ +{ CPUFUNC(op_e098_0), 0, 57496 }, /* ROR.L #,Dn */ +{ CPUFUNC(op_e0a0_0), 0, 57504 }, /* ASR.L Dn,Dn */ +{ CPUFUNC(op_e0a8_0), 0, 57512 }, /* LSR.L Dn,Dn */ +{ CPUFUNC(op_e0b0_0), 0, 57520 }, /* ROXR.L Dn,Dn */ +{ CPUFUNC(op_e0b8_0), 0, 57528 }, /* ROR.L Dn,Dn */ +{ CPUFUNC(op_e0d0_0), 0, 57552 }, /* ASRW.W (An) */ +{ CPUFUNC(op_e0d8_0), 0, 57560 }, /* ASRW.W (An)+ */ +{ CPUFUNC(op_e0e0_0), 0, 57568 }, /* ASRW.W -(An) */ +{ CPUFUNC(op_e0e8_0), 0, 57576 }, /* ASRW.W (d16,An) */ +{ CPUFUNC(op_e0f0_3), 0, 57584 }, /* ASRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e0f8_0), 0, 57592 }, /* ASRW.W (xxx).W */ +{ CPUFUNC(op_e0f9_0), 0, 57593 }, /* ASRW.W (xxx).L */ +{ CPUFUNC(op_e100_0), 0, 57600 }, /* ASL.B #,Dn */ +{ CPUFUNC(op_e108_0), 0, 57608 }, /* LSL.B #,Dn */ +{ CPUFUNC(op_e110_0), 0, 57616 }, /* ROXL.B #,Dn */ +{ CPUFUNC(op_e118_0), 0, 57624 }, /* ROL.B #,Dn */ +{ CPUFUNC(op_e120_0), 0, 57632 }, /* ASL.B Dn,Dn */ +{ CPUFUNC(op_e128_0), 0, 57640 }, /* LSL.B Dn,Dn */ +{ CPUFUNC(op_e130_0), 0, 57648 }, /* ROXL.B Dn,Dn */ +{ CPUFUNC(op_e138_0), 0, 57656 }, /* ROL.B Dn,Dn */ +{ CPUFUNC(op_e140_0), 0, 57664 }, /* ASL.W #,Dn */ +{ CPUFUNC(op_e148_0), 0, 57672 }, /* LSL.W #,Dn */ +{ CPUFUNC(op_e150_0), 0, 57680 }, /* ROXL.W #,Dn */ +{ CPUFUNC(op_e158_0), 0, 57688 }, /* ROL.W #,Dn */ +{ CPUFUNC(op_e160_0), 0, 57696 }, /* ASL.W Dn,Dn */ +{ CPUFUNC(op_e168_0), 0, 57704 }, /* LSL.W Dn,Dn */ +{ CPUFUNC(op_e170_0), 0, 57712 }, /* ROXL.W Dn,Dn */ +{ CPUFUNC(op_e178_0), 0, 57720 }, /* ROL.W Dn,Dn */ +{ CPUFUNC(op_e180_0), 0, 57728 }, /* ASL.L #,Dn */ +{ CPUFUNC(op_e188_0), 0, 57736 }, /* LSL.L #,Dn */ +{ CPUFUNC(op_e190_0), 0, 57744 }, /* ROXL.L #,Dn */ +{ CPUFUNC(op_e198_0), 0, 57752 }, /* ROL.L #,Dn */ +{ CPUFUNC(op_e1a0_0), 0, 57760 }, /* ASL.L Dn,Dn */ +{ CPUFUNC(op_e1a8_0), 0, 57768 }, /* LSL.L Dn,Dn */ +{ CPUFUNC(op_e1b0_0), 0, 57776 }, /* ROXL.L Dn,Dn */ +{ CPUFUNC(op_e1b8_0), 0, 57784 }, /* ROL.L Dn,Dn */ +{ CPUFUNC(op_e1d0_0), 0, 57808 }, /* ASLW.W (An) */ +{ CPUFUNC(op_e1d8_0), 0, 57816 }, /* ASLW.W (An)+ */ +{ CPUFUNC(op_e1e0_0), 0, 57824 }, /* ASLW.W -(An) */ +{ CPUFUNC(op_e1e8_0), 0, 57832 }, /* ASLW.W (d16,An) */ +{ CPUFUNC(op_e1f0_3), 0, 57840 }, /* ASLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e1f8_0), 0, 57848 }, /* ASLW.W (xxx).W */ +{ CPUFUNC(op_e1f9_0), 0, 57849 }, /* ASLW.W (xxx).L */ +{ CPUFUNC(op_e2d0_0), 0, 58064 }, /* LSRW.W (An) */ +{ CPUFUNC(op_e2d8_0), 0, 58072 }, /* LSRW.W (An)+ */ +{ CPUFUNC(op_e2e0_0), 0, 58080 }, /* LSRW.W -(An) */ +{ CPUFUNC(op_e2e8_0), 0, 58088 }, /* LSRW.W (d16,An) */ +{ CPUFUNC(op_e2f0_3), 0, 58096 }, /* LSRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e2f8_0), 0, 58104 }, /* LSRW.W (xxx).W */ +{ CPUFUNC(op_e2f9_0), 0, 58105 }, /* LSRW.W (xxx).L */ +{ CPUFUNC(op_e3d0_0), 0, 58320 }, /* LSLW.W (An) */ +{ CPUFUNC(op_e3d8_0), 0, 58328 }, /* LSLW.W (An)+ */ +{ CPUFUNC(op_e3e0_0), 0, 58336 }, /* LSLW.W -(An) */ +{ CPUFUNC(op_e3e8_0), 0, 58344 }, /* LSLW.W (d16,An) */ +{ CPUFUNC(op_e3f0_3), 0, 58352 }, /* LSLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e3f8_0), 0, 58360 }, /* LSLW.W (xxx).W */ +{ CPUFUNC(op_e3f9_0), 0, 58361 }, /* LSLW.W (xxx).L */ +{ CPUFUNC(op_e4d0_0), 0, 58576 }, /* ROXRW.W (An) */ +{ CPUFUNC(op_e4d8_0), 0, 58584 }, /* ROXRW.W (An)+ */ +{ CPUFUNC(op_e4e0_0), 0, 58592 }, /* ROXRW.W -(An) */ +{ CPUFUNC(op_e4e8_0), 0, 58600 }, /* ROXRW.W (d16,An) */ +{ CPUFUNC(op_e4f0_3), 0, 58608 }, /* ROXRW.W (d8,An,Xn) */ +{ CPUFUNC(op_e4f8_0), 0, 58616 }, /* ROXRW.W (xxx).W */ +{ CPUFUNC(op_e4f9_0), 0, 58617 }, /* ROXRW.W (xxx).L */ +{ CPUFUNC(op_e5d0_0), 0, 58832 }, /* ROXLW.W (An) */ +{ CPUFUNC(op_e5d8_0), 0, 58840 }, /* ROXLW.W (An)+ */ +{ CPUFUNC(op_e5e0_0), 0, 58848 }, /* ROXLW.W -(An) */ +{ CPUFUNC(op_e5e8_0), 0, 58856 }, /* ROXLW.W (d16,An) */ +{ CPUFUNC(op_e5f0_3), 0, 58864 }, /* ROXLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e5f8_0), 0, 58872 }, /* ROXLW.W (xxx).W */ +{ CPUFUNC(op_e5f9_0), 0, 58873 }, /* ROXLW.W (xxx).L */ +{ CPUFUNC(op_e6d0_0), 0, 59088 }, /* RORW.W (An) */ +{ CPUFUNC(op_e6d8_0), 0, 59096 }, /* RORW.W (An)+ */ +{ CPUFUNC(op_e6e0_0), 0, 59104 }, /* RORW.W -(An) */ +{ CPUFUNC(op_e6e8_0), 0, 59112 }, /* RORW.W (d16,An) */ +{ CPUFUNC(op_e6f0_3), 0, 59120 }, /* RORW.W (d8,An,Xn) */ +{ CPUFUNC(op_e6f8_0), 0, 59128 }, /* RORW.W (xxx).W */ +{ CPUFUNC(op_e6f9_0), 0, 59129 }, /* RORW.W (xxx).L */ +{ CPUFUNC(op_e7d0_0), 0, 59344 }, /* ROLW.W (An) */ +{ CPUFUNC(op_e7d8_0), 0, 59352 }, /* ROLW.W (An)+ */ +{ CPUFUNC(op_e7e0_0), 0, 59360 }, /* ROLW.W -(An) */ +{ CPUFUNC(op_e7e8_0), 0, 59368 }, /* ROLW.W (d16,An) */ +{ CPUFUNC(op_e7f0_3), 0, 59376 }, /* ROLW.W (d8,An,Xn) */ +{ CPUFUNC(op_e7f8_0), 0, 59384 }, /* ROLW.W (xxx).W */ +{ CPUFUNC(op_e7f9_0), 0, 59385 }, /* ROLW.W (xxx).L */ +{ 0, 0, 0 }}; diff --git a/BasiliskII/src/uae_cpu/cpustbl_nf.cpp b/BasiliskII/src/uae_cpu/cpustbl_nf.cpp new file mode 100644 index 00000000..e59ae0f0 --- /dev/null +++ b/BasiliskII/src/uae_cpu/cpustbl_nf.cpp @@ -0,0 +1,2 @@ +#define NOFLAGS +#include "cpustbl.cpp" diff --git a/BasiliskII/src/uae_cpu/cputbl.h b/BasiliskII/src/uae_cpu/cputbl.h new file mode 100644 index 00000000..421a51d3 --- /dev/null +++ b/BasiliskII/src/uae_cpu/cputbl.h @@ -0,0 +1,4322 @@ +extern cpuop_func op_0_0_nf; +extern cpuop_func op_0_0_ff; +extern cpuop_func op_10_0_nf; +extern cpuop_func op_10_0_ff; +extern cpuop_func op_18_0_nf; +extern cpuop_func op_18_0_ff; +extern cpuop_func op_20_0_nf; +extern cpuop_func op_20_0_ff; +extern cpuop_func op_28_0_nf; +extern cpuop_func op_28_0_ff; +extern cpuop_func op_30_0_nf; +extern cpuop_func op_30_0_ff; +extern cpuop_func op_38_0_nf; +extern cpuop_func op_38_0_ff; +extern cpuop_func op_39_0_nf; +extern cpuop_func op_39_0_ff; +extern cpuop_func op_3c_0_nf; +extern cpuop_func op_3c_0_ff; +extern cpuop_func op_40_0_nf; +extern cpuop_func op_40_0_ff; +extern cpuop_func op_50_0_nf; +extern cpuop_func op_50_0_ff; +extern cpuop_func op_58_0_nf; +extern cpuop_func op_58_0_ff; +extern cpuop_func op_60_0_nf; +extern cpuop_func op_60_0_ff; +extern cpuop_func op_68_0_nf; +extern cpuop_func op_68_0_ff; +extern cpuop_func op_70_0_nf; +extern cpuop_func op_70_0_ff; +extern cpuop_func op_78_0_nf; +extern cpuop_func op_78_0_ff; +extern cpuop_func op_79_0_nf; +extern cpuop_func op_79_0_ff; +extern cpuop_func op_7c_0_nf; +extern cpuop_func op_7c_0_ff; +extern cpuop_func op_80_0_nf; +extern cpuop_func op_80_0_ff; +extern cpuop_func op_90_0_nf; +extern cpuop_func op_90_0_ff; +extern cpuop_func op_98_0_nf; +extern cpuop_func op_98_0_ff; +extern cpuop_func op_a0_0_nf; +extern cpuop_func op_a0_0_ff; +extern cpuop_func op_a8_0_nf; +extern cpuop_func op_a8_0_ff; +extern cpuop_func op_b0_0_nf; +extern cpuop_func op_b0_0_ff; +extern cpuop_func op_b8_0_nf; +extern cpuop_func op_b8_0_ff; +extern cpuop_func op_b9_0_nf; +extern cpuop_func op_b9_0_ff; +extern cpuop_func op_d0_0_nf; +extern cpuop_func op_d0_0_ff; +extern cpuop_func op_e8_0_nf; +extern cpuop_func op_e8_0_ff; +extern cpuop_func op_f0_0_nf; +extern cpuop_func op_f0_0_ff; +extern cpuop_func op_f8_0_nf; +extern cpuop_func op_f8_0_ff; +extern cpuop_func op_f9_0_nf; +extern cpuop_func op_f9_0_ff; +extern cpuop_func op_fa_0_nf; +extern cpuop_func op_fa_0_ff; +extern cpuop_func op_fb_0_nf; +extern cpuop_func op_fb_0_ff; +extern cpuop_func op_100_0_nf; +extern cpuop_func op_100_0_ff; +extern cpuop_func op_108_0_nf; +extern cpuop_func op_108_0_ff; +extern cpuop_func op_110_0_nf; +extern cpuop_func op_110_0_ff; +extern cpuop_func op_118_0_nf; +extern cpuop_func op_118_0_ff; +extern cpuop_func op_120_0_nf; +extern cpuop_func op_120_0_ff; +extern cpuop_func op_128_0_nf; +extern cpuop_func op_128_0_ff; +extern cpuop_func op_130_0_nf; +extern cpuop_func op_130_0_ff; +extern cpuop_func op_138_0_nf; +extern cpuop_func op_138_0_ff; +extern cpuop_func op_139_0_nf; +extern cpuop_func op_139_0_ff; +extern cpuop_func op_13a_0_nf; +extern cpuop_func op_13a_0_ff; +extern cpuop_func op_13b_0_nf; +extern cpuop_func op_13b_0_ff; +extern cpuop_func op_13c_0_nf; +extern cpuop_func op_13c_0_ff; +extern cpuop_func op_140_0_nf; +extern cpuop_func op_140_0_ff; +extern cpuop_func op_148_0_nf; +extern cpuop_func op_148_0_ff; +extern cpuop_func op_150_0_nf; +extern cpuop_func op_150_0_ff; +extern cpuop_func op_158_0_nf; +extern cpuop_func op_158_0_ff; +extern cpuop_func op_160_0_nf; +extern cpuop_func op_160_0_ff; +extern cpuop_func op_168_0_nf; +extern cpuop_func op_168_0_ff; +extern cpuop_func op_170_0_nf; +extern cpuop_func op_170_0_ff; +extern cpuop_func op_178_0_nf; +extern cpuop_func op_178_0_ff; +extern cpuop_func op_179_0_nf; +extern cpuop_func op_179_0_ff; +extern cpuop_func op_17a_0_nf; +extern cpuop_func op_17a_0_ff; +extern cpuop_func op_17b_0_nf; +extern cpuop_func op_17b_0_ff; +extern cpuop_func op_180_0_nf; +extern cpuop_func op_180_0_ff; +extern cpuop_func op_188_0_nf; +extern cpuop_func op_188_0_ff; +extern cpuop_func op_190_0_nf; +extern cpuop_func op_190_0_ff; +extern cpuop_func op_198_0_nf; +extern cpuop_func op_198_0_ff; +extern cpuop_func op_1a0_0_nf; +extern cpuop_func op_1a0_0_ff; +extern cpuop_func op_1a8_0_nf; +extern cpuop_func op_1a8_0_ff; +extern cpuop_func op_1b0_0_nf; +extern cpuop_func op_1b0_0_ff; +extern cpuop_func op_1b8_0_nf; +extern cpuop_func op_1b8_0_ff; +extern cpuop_func op_1b9_0_nf; +extern cpuop_func op_1b9_0_ff; +extern cpuop_func op_1ba_0_nf; +extern cpuop_func op_1ba_0_ff; +extern cpuop_func op_1bb_0_nf; +extern cpuop_func op_1bb_0_ff; +extern cpuop_func op_1c0_0_nf; +extern cpuop_func op_1c0_0_ff; +extern cpuop_func op_1c8_0_nf; +extern cpuop_func op_1c8_0_ff; +extern cpuop_func op_1d0_0_nf; +extern cpuop_func op_1d0_0_ff; +extern cpuop_func op_1d8_0_nf; +extern cpuop_func op_1d8_0_ff; +extern cpuop_func op_1e0_0_nf; +extern cpuop_func op_1e0_0_ff; +extern cpuop_func op_1e8_0_nf; +extern cpuop_func op_1e8_0_ff; +extern cpuop_func op_1f0_0_nf; +extern cpuop_func op_1f0_0_ff; +extern cpuop_func op_1f8_0_nf; +extern cpuop_func op_1f8_0_ff; +extern cpuop_func op_1f9_0_nf; +extern cpuop_func op_1f9_0_ff; +extern cpuop_func op_1fa_0_nf; +extern cpuop_func op_1fa_0_ff; +extern cpuop_func op_1fb_0_nf; +extern cpuop_func op_1fb_0_ff; +extern cpuop_func op_200_0_nf; +extern cpuop_func op_200_0_ff; +extern cpuop_func op_210_0_nf; +extern cpuop_func op_210_0_ff; +extern cpuop_func op_218_0_nf; +extern cpuop_func op_218_0_ff; +extern cpuop_func op_220_0_nf; +extern cpuop_func op_220_0_ff; +extern cpuop_func op_228_0_nf; +extern cpuop_func op_228_0_ff; +extern cpuop_func op_230_0_nf; +extern cpuop_func op_230_0_ff; +extern cpuop_func op_238_0_nf; +extern cpuop_func op_238_0_ff; +extern cpuop_func op_239_0_nf; +extern cpuop_func op_239_0_ff; +extern cpuop_func op_23c_0_nf; +extern cpuop_func op_23c_0_ff; +extern cpuop_func op_240_0_nf; +extern cpuop_func op_240_0_ff; +extern cpuop_func op_250_0_nf; +extern cpuop_func op_250_0_ff; +extern cpuop_func op_258_0_nf; +extern cpuop_func op_258_0_ff; +extern cpuop_func op_260_0_nf; +extern cpuop_func op_260_0_ff; +extern cpuop_func op_268_0_nf; +extern cpuop_func op_268_0_ff; +extern cpuop_func op_270_0_nf; +extern cpuop_func op_270_0_ff; +extern cpuop_func op_278_0_nf; +extern cpuop_func op_278_0_ff; +extern cpuop_func op_279_0_nf; +extern cpuop_func op_279_0_ff; +extern cpuop_func op_27c_0_nf; +extern cpuop_func op_27c_0_ff; +extern cpuop_func op_280_0_nf; +extern cpuop_func op_280_0_ff; +extern cpuop_func op_290_0_nf; +extern cpuop_func op_290_0_ff; +extern cpuop_func op_298_0_nf; +extern cpuop_func op_298_0_ff; +extern cpuop_func op_2a0_0_nf; +extern cpuop_func op_2a0_0_ff; +extern cpuop_func op_2a8_0_nf; +extern cpuop_func op_2a8_0_ff; +extern cpuop_func op_2b0_0_nf; +extern cpuop_func op_2b0_0_ff; +extern cpuop_func op_2b8_0_nf; +extern cpuop_func op_2b8_0_ff; +extern cpuop_func op_2b9_0_nf; +extern cpuop_func op_2b9_0_ff; +extern cpuop_func op_2d0_0_nf; +extern cpuop_func op_2d0_0_ff; +extern cpuop_func op_2e8_0_nf; +extern cpuop_func op_2e8_0_ff; +extern cpuop_func op_2f0_0_nf; +extern cpuop_func op_2f0_0_ff; +extern cpuop_func op_2f8_0_nf; +extern cpuop_func op_2f8_0_ff; +extern cpuop_func op_2f9_0_nf; +extern cpuop_func op_2f9_0_ff; +extern cpuop_func op_2fa_0_nf; +extern cpuop_func op_2fa_0_ff; +extern cpuop_func op_2fb_0_nf; +extern cpuop_func op_2fb_0_ff; +extern cpuop_func op_400_0_nf; +extern cpuop_func op_400_0_ff; +extern cpuop_func op_410_0_nf; +extern cpuop_func op_410_0_ff; +extern cpuop_func op_418_0_nf; +extern cpuop_func op_418_0_ff; +extern cpuop_func op_420_0_nf; +extern cpuop_func op_420_0_ff; +extern cpuop_func op_428_0_nf; +extern cpuop_func op_428_0_ff; +extern cpuop_func op_430_0_nf; +extern cpuop_func op_430_0_ff; +extern cpuop_func op_438_0_nf; +extern cpuop_func op_438_0_ff; +extern cpuop_func op_439_0_nf; +extern cpuop_func op_439_0_ff; +extern cpuop_func op_440_0_nf; +extern cpuop_func op_440_0_ff; +extern cpuop_func op_450_0_nf; +extern cpuop_func op_450_0_ff; +extern cpuop_func op_458_0_nf; +extern cpuop_func op_458_0_ff; +extern cpuop_func op_460_0_nf; +extern cpuop_func op_460_0_ff; +extern cpuop_func op_468_0_nf; +extern cpuop_func op_468_0_ff; +extern cpuop_func op_470_0_nf; +extern cpuop_func op_470_0_ff; +extern cpuop_func op_478_0_nf; +extern cpuop_func op_478_0_ff; +extern cpuop_func op_479_0_nf; +extern cpuop_func op_479_0_ff; +extern cpuop_func op_480_0_nf; +extern cpuop_func op_480_0_ff; +extern cpuop_func op_490_0_nf; +extern cpuop_func op_490_0_ff; +extern cpuop_func op_498_0_nf; +extern cpuop_func op_498_0_ff; +extern cpuop_func op_4a0_0_nf; +extern cpuop_func op_4a0_0_ff; +extern cpuop_func op_4a8_0_nf; +extern cpuop_func op_4a8_0_ff; +extern cpuop_func op_4b0_0_nf; +extern cpuop_func op_4b0_0_ff; +extern cpuop_func op_4b8_0_nf; +extern cpuop_func op_4b8_0_ff; +extern cpuop_func op_4b9_0_nf; +extern cpuop_func op_4b9_0_ff; +extern cpuop_func op_4d0_0_nf; +extern cpuop_func op_4d0_0_ff; +extern cpuop_func op_4e8_0_nf; +extern cpuop_func op_4e8_0_ff; +extern cpuop_func op_4f0_0_nf; +extern cpuop_func op_4f0_0_ff; +extern cpuop_func op_4f8_0_nf; +extern cpuop_func op_4f8_0_ff; +extern cpuop_func op_4f9_0_nf; +extern cpuop_func op_4f9_0_ff; +extern cpuop_func op_4fa_0_nf; +extern cpuop_func op_4fa_0_ff; +extern cpuop_func op_4fb_0_nf; +extern cpuop_func op_4fb_0_ff; +extern cpuop_func op_600_0_nf; +extern cpuop_func op_600_0_ff; +extern cpuop_func op_610_0_nf; +extern cpuop_func op_610_0_ff; +extern cpuop_func op_618_0_nf; +extern cpuop_func op_618_0_ff; +extern cpuop_func op_620_0_nf; +extern cpuop_func op_620_0_ff; +extern cpuop_func op_628_0_nf; +extern cpuop_func op_628_0_ff; +extern cpuop_func op_630_0_nf; +extern cpuop_func op_630_0_ff; +extern cpuop_func op_638_0_nf; +extern cpuop_func op_638_0_ff; +extern cpuop_func op_639_0_nf; +extern cpuop_func op_639_0_ff; +extern cpuop_func op_640_0_nf; +extern cpuop_func op_640_0_ff; +extern cpuop_func op_650_0_nf; +extern cpuop_func op_650_0_ff; +extern cpuop_func op_658_0_nf; +extern cpuop_func op_658_0_ff; +extern cpuop_func op_660_0_nf; +extern cpuop_func op_660_0_ff; +extern cpuop_func op_668_0_nf; +extern cpuop_func op_668_0_ff; +extern cpuop_func op_670_0_nf; +extern cpuop_func op_670_0_ff; +extern cpuop_func op_678_0_nf; +extern cpuop_func op_678_0_ff; +extern cpuop_func op_679_0_nf; +extern cpuop_func op_679_0_ff; +extern cpuop_func op_680_0_nf; +extern cpuop_func op_680_0_ff; +extern cpuop_func op_690_0_nf; +extern cpuop_func op_690_0_ff; +extern cpuop_func op_698_0_nf; +extern cpuop_func op_698_0_ff; +extern cpuop_func op_6a0_0_nf; +extern cpuop_func op_6a0_0_ff; +extern cpuop_func op_6a8_0_nf; +extern cpuop_func op_6a8_0_ff; +extern cpuop_func op_6b0_0_nf; +extern cpuop_func op_6b0_0_ff; +extern cpuop_func op_6b8_0_nf; +extern cpuop_func op_6b8_0_ff; +extern cpuop_func op_6b9_0_nf; +extern cpuop_func op_6b9_0_ff; +extern cpuop_func op_6c0_0_nf; +extern cpuop_func op_6c0_0_ff; +extern cpuop_func op_6c8_0_nf; +extern cpuop_func op_6c8_0_ff; +extern cpuop_func op_6d0_0_nf; +extern cpuop_func op_6d0_0_ff; +extern cpuop_func op_6e8_0_nf; +extern cpuop_func op_6e8_0_ff; +extern cpuop_func op_6f0_0_nf; +extern cpuop_func op_6f0_0_ff; +extern cpuop_func op_6f8_0_nf; +extern cpuop_func op_6f8_0_ff; +extern cpuop_func op_6f9_0_nf; +extern cpuop_func op_6f9_0_ff; +extern cpuop_func op_6fa_0_nf; +extern cpuop_func op_6fa_0_ff; +extern cpuop_func op_6fb_0_nf; +extern cpuop_func op_6fb_0_ff; +extern cpuop_func op_800_0_nf; +extern cpuop_func op_800_0_ff; +extern cpuop_func op_810_0_nf; +extern cpuop_func op_810_0_ff; +extern cpuop_func op_818_0_nf; +extern cpuop_func op_818_0_ff; +extern cpuop_func op_820_0_nf; +extern cpuop_func op_820_0_ff; +extern cpuop_func op_828_0_nf; +extern cpuop_func op_828_0_ff; +extern cpuop_func op_830_0_nf; +extern cpuop_func op_830_0_ff; +extern cpuop_func op_838_0_nf; +extern cpuop_func op_838_0_ff; +extern cpuop_func op_839_0_nf; +extern cpuop_func op_839_0_ff; +extern cpuop_func op_83a_0_nf; +extern cpuop_func op_83a_0_ff; +extern cpuop_func op_83b_0_nf; +extern cpuop_func op_83b_0_ff; +extern cpuop_func op_83c_0_nf; +extern cpuop_func op_83c_0_ff; +extern cpuop_func op_840_0_nf; +extern cpuop_func op_840_0_ff; +extern cpuop_func op_850_0_nf; +extern cpuop_func op_850_0_ff; +extern cpuop_func op_858_0_nf; +extern cpuop_func op_858_0_ff; +extern cpuop_func op_860_0_nf; +extern cpuop_func op_860_0_ff; +extern cpuop_func op_868_0_nf; +extern cpuop_func op_868_0_ff; +extern cpuop_func op_870_0_nf; +extern cpuop_func op_870_0_ff; +extern cpuop_func op_878_0_nf; +extern cpuop_func op_878_0_ff; +extern cpuop_func op_879_0_nf; +extern cpuop_func op_879_0_ff; +extern cpuop_func op_87a_0_nf; +extern cpuop_func op_87a_0_ff; +extern cpuop_func op_87b_0_nf; +extern cpuop_func op_87b_0_ff; +extern cpuop_func op_880_0_nf; +extern cpuop_func op_880_0_ff; +extern cpuop_func op_890_0_nf; +extern cpuop_func op_890_0_ff; +extern cpuop_func op_898_0_nf; +extern cpuop_func op_898_0_ff; +extern cpuop_func op_8a0_0_nf; +extern cpuop_func op_8a0_0_ff; +extern cpuop_func op_8a8_0_nf; +extern cpuop_func op_8a8_0_ff; +extern cpuop_func op_8b0_0_nf; +extern cpuop_func op_8b0_0_ff; +extern cpuop_func op_8b8_0_nf; +extern cpuop_func op_8b8_0_ff; +extern cpuop_func op_8b9_0_nf; +extern cpuop_func op_8b9_0_ff; +extern cpuop_func op_8ba_0_nf; +extern cpuop_func op_8ba_0_ff; +extern cpuop_func op_8bb_0_nf; +extern cpuop_func op_8bb_0_ff; +extern cpuop_func op_8c0_0_nf; +extern cpuop_func op_8c0_0_ff; +extern cpuop_func op_8d0_0_nf; +extern cpuop_func op_8d0_0_ff; +extern cpuop_func op_8d8_0_nf; +extern cpuop_func op_8d8_0_ff; +extern cpuop_func op_8e0_0_nf; +extern cpuop_func op_8e0_0_ff; +extern cpuop_func op_8e8_0_nf; +extern cpuop_func op_8e8_0_ff; +extern cpuop_func op_8f0_0_nf; +extern cpuop_func op_8f0_0_ff; +extern cpuop_func op_8f8_0_nf; +extern cpuop_func op_8f8_0_ff; +extern cpuop_func op_8f9_0_nf; +extern cpuop_func op_8f9_0_ff; +extern cpuop_func op_8fa_0_nf; +extern cpuop_func op_8fa_0_ff; +extern cpuop_func op_8fb_0_nf; +extern cpuop_func op_8fb_0_ff; +extern cpuop_func op_a00_0_nf; +extern cpuop_func op_a00_0_ff; +extern cpuop_func op_a10_0_nf; +extern cpuop_func op_a10_0_ff; +extern cpuop_func op_a18_0_nf; +extern cpuop_func op_a18_0_ff; +extern cpuop_func op_a20_0_nf; +extern cpuop_func op_a20_0_ff; +extern cpuop_func op_a28_0_nf; +extern cpuop_func op_a28_0_ff; +extern cpuop_func op_a30_0_nf; +extern cpuop_func op_a30_0_ff; +extern cpuop_func op_a38_0_nf; +extern cpuop_func op_a38_0_ff; +extern cpuop_func op_a39_0_nf; +extern cpuop_func op_a39_0_ff; +extern cpuop_func op_a3c_0_nf; +extern cpuop_func op_a3c_0_ff; +extern cpuop_func op_a40_0_nf; +extern cpuop_func op_a40_0_ff; +extern cpuop_func op_a50_0_nf; +extern cpuop_func op_a50_0_ff; +extern cpuop_func op_a58_0_nf; +extern cpuop_func op_a58_0_ff; +extern cpuop_func op_a60_0_nf; +extern cpuop_func op_a60_0_ff; +extern cpuop_func op_a68_0_nf; +extern cpuop_func op_a68_0_ff; +extern cpuop_func op_a70_0_nf; +extern cpuop_func op_a70_0_ff; +extern cpuop_func op_a78_0_nf; +extern cpuop_func op_a78_0_ff; +extern cpuop_func op_a79_0_nf; +extern cpuop_func op_a79_0_ff; +extern cpuop_func op_a7c_0_nf; +extern cpuop_func op_a7c_0_ff; +extern cpuop_func op_a80_0_nf; +extern cpuop_func op_a80_0_ff; +extern cpuop_func op_a90_0_nf; +extern cpuop_func op_a90_0_ff; +extern cpuop_func op_a98_0_nf; +extern cpuop_func op_a98_0_ff; +extern cpuop_func op_aa0_0_nf; +extern cpuop_func op_aa0_0_ff; +extern cpuop_func op_aa8_0_nf; +extern cpuop_func op_aa8_0_ff; +extern cpuop_func op_ab0_0_nf; +extern cpuop_func op_ab0_0_ff; +extern cpuop_func op_ab8_0_nf; +extern cpuop_func op_ab8_0_ff; +extern cpuop_func op_ab9_0_nf; +extern cpuop_func op_ab9_0_ff; +extern cpuop_func op_ad0_0_nf; +extern cpuop_func op_ad0_0_ff; +extern cpuop_func op_ad8_0_nf; +extern cpuop_func op_ad8_0_ff; +extern cpuop_func op_ae0_0_nf; +extern cpuop_func op_ae0_0_ff; +extern cpuop_func op_ae8_0_nf; +extern cpuop_func op_ae8_0_ff; +extern cpuop_func op_af0_0_nf; +extern cpuop_func op_af0_0_ff; +extern cpuop_func op_af8_0_nf; +extern cpuop_func op_af8_0_ff; +extern cpuop_func op_af9_0_nf; +extern cpuop_func op_af9_0_ff; +extern cpuop_func op_c00_0_nf; +extern cpuop_func op_c00_0_ff; +extern cpuop_func op_c10_0_nf; +extern cpuop_func op_c10_0_ff; +extern cpuop_func op_c18_0_nf; +extern cpuop_func op_c18_0_ff; +extern cpuop_func op_c20_0_nf; +extern cpuop_func op_c20_0_ff; +extern cpuop_func op_c28_0_nf; +extern cpuop_func op_c28_0_ff; +extern cpuop_func op_c30_0_nf; +extern cpuop_func op_c30_0_ff; +extern cpuop_func op_c38_0_nf; +extern cpuop_func op_c38_0_ff; +extern cpuop_func op_c39_0_nf; +extern cpuop_func op_c39_0_ff; +extern cpuop_func op_c3a_0_nf; +extern cpuop_func op_c3a_0_ff; +extern cpuop_func op_c3b_0_nf; +extern cpuop_func op_c3b_0_ff; +extern cpuop_func op_c40_0_nf; +extern cpuop_func op_c40_0_ff; +extern cpuop_func op_c50_0_nf; +extern cpuop_func op_c50_0_ff; +extern cpuop_func op_c58_0_nf; +extern cpuop_func op_c58_0_ff; +extern cpuop_func op_c60_0_nf; +extern cpuop_func op_c60_0_ff; +extern cpuop_func op_c68_0_nf; +extern cpuop_func op_c68_0_ff; +extern cpuop_func op_c70_0_nf; +extern cpuop_func op_c70_0_ff; +extern cpuop_func op_c78_0_nf; +extern cpuop_func op_c78_0_ff; +extern cpuop_func op_c79_0_nf; +extern cpuop_func op_c79_0_ff; +extern cpuop_func op_c7a_0_nf; +extern cpuop_func op_c7a_0_ff; +extern cpuop_func op_c7b_0_nf; +extern cpuop_func op_c7b_0_ff; +extern cpuop_func op_c80_0_nf; +extern cpuop_func op_c80_0_ff; +extern cpuop_func op_c90_0_nf; +extern cpuop_func op_c90_0_ff; +extern cpuop_func op_c98_0_nf; +extern cpuop_func op_c98_0_ff; +extern cpuop_func op_ca0_0_nf; +extern cpuop_func op_ca0_0_ff; +extern cpuop_func op_ca8_0_nf; +extern cpuop_func op_ca8_0_ff; +extern cpuop_func op_cb0_0_nf; +extern cpuop_func op_cb0_0_ff; +extern cpuop_func op_cb8_0_nf; +extern cpuop_func op_cb8_0_ff; +extern cpuop_func op_cb9_0_nf; +extern cpuop_func op_cb9_0_ff; +extern cpuop_func op_cba_0_nf; +extern cpuop_func op_cba_0_ff; +extern cpuop_func op_cbb_0_nf; +extern cpuop_func op_cbb_0_ff; +extern cpuop_func op_cd0_0_nf; +extern cpuop_func op_cd0_0_ff; +extern cpuop_func op_cd8_0_nf; +extern cpuop_func op_cd8_0_ff; +extern cpuop_func op_ce0_0_nf; +extern cpuop_func op_ce0_0_ff; +extern cpuop_func op_ce8_0_nf; +extern cpuop_func op_ce8_0_ff; +extern cpuop_func op_cf0_0_nf; +extern cpuop_func op_cf0_0_ff; +extern cpuop_func op_cf8_0_nf; +extern cpuop_func op_cf8_0_ff; +extern cpuop_func op_cf9_0_nf; +extern cpuop_func op_cf9_0_ff; +extern cpuop_func op_cfc_0_nf; +extern cpuop_func op_cfc_0_ff; +extern cpuop_func op_e10_0_nf; +extern cpuop_func op_e10_0_ff; +extern cpuop_func op_e18_0_nf; +extern cpuop_func op_e18_0_ff; +extern cpuop_func op_e20_0_nf; +extern cpuop_func op_e20_0_ff; +extern cpuop_func op_e28_0_nf; +extern cpuop_func op_e28_0_ff; +extern cpuop_func op_e30_0_nf; +extern cpuop_func op_e30_0_ff; +extern cpuop_func op_e38_0_nf; +extern cpuop_func op_e38_0_ff; +extern cpuop_func op_e39_0_nf; +extern cpuop_func op_e39_0_ff; +extern cpuop_func op_e50_0_nf; +extern cpuop_func op_e50_0_ff; +extern cpuop_func op_e58_0_nf; +extern cpuop_func op_e58_0_ff; +extern cpuop_func op_e60_0_nf; +extern cpuop_func op_e60_0_ff; +extern cpuop_func op_e68_0_nf; +extern cpuop_func op_e68_0_ff; +extern cpuop_func op_e70_0_nf; +extern cpuop_func op_e70_0_ff; +extern cpuop_func op_e78_0_nf; +extern cpuop_func op_e78_0_ff; +extern cpuop_func op_e79_0_nf; +extern cpuop_func op_e79_0_ff; +extern cpuop_func op_e90_0_nf; +extern cpuop_func op_e90_0_ff; +extern cpuop_func op_e98_0_nf; +extern cpuop_func op_e98_0_ff; +extern cpuop_func op_ea0_0_nf; +extern cpuop_func op_ea0_0_ff; +extern cpuop_func op_ea8_0_nf; +extern cpuop_func op_ea8_0_ff; +extern cpuop_func op_eb0_0_nf; +extern cpuop_func op_eb0_0_ff; +extern cpuop_func op_eb8_0_nf; +extern cpuop_func op_eb8_0_ff; +extern cpuop_func op_eb9_0_nf; +extern cpuop_func op_eb9_0_ff; +extern cpuop_func op_ed0_0_nf; +extern cpuop_func op_ed0_0_ff; +extern cpuop_func op_ed8_0_nf; +extern cpuop_func op_ed8_0_ff; +extern cpuop_func op_ee0_0_nf; +extern cpuop_func op_ee0_0_ff; +extern cpuop_func op_ee8_0_nf; +extern cpuop_func op_ee8_0_ff; +extern cpuop_func op_ef0_0_nf; +extern cpuop_func op_ef0_0_ff; +extern cpuop_func op_ef8_0_nf; +extern cpuop_func op_ef8_0_ff; +extern cpuop_func op_ef9_0_nf; +extern cpuop_func op_ef9_0_ff; +extern cpuop_func op_efc_0_nf; +extern cpuop_func op_efc_0_ff; +extern cpuop_func op_1000_0_nf; +extern cpuop_func op_1000_0_ff; +extern cpuop_func op_1010_0_nf; +extern cpuop_func op_1010_0_ff; +extern cpuop_func op_1018_0_nf; +extern cpuop_func op_1018_0_ff; +extern cpuop_func op_1020_0_nf; +extern cpuop_func op_1020_0_ff; +extern cpuop_func op_1028_0_nf; +extern cpuop_func op_1028_0_ff; +extern cpuop_func op_1030_0_nf; +extern cpuop_func op_1030_0_ff; +extern cpuop_func op_1038_0_nf; +extern cpuop_func op_1038_0_ff; +extern cpuop_func op_1039_0_nf; +extern cpuop_func op_1039_0_ff; +extern cpuop_func op_103a_0_nf; +extern cpuop_func op_103a_0_ff; +extern cpuop_func op_103b_0_nf; +extern cpuop_func op_103b_0_ff; +extern cpuop_func op_103c_0_nf; +extern cpuop_func op_103c_0_ff; +extern cpuop_func op_1080_0_nf; +extern cpuop_func op_1080_0_ff; +extern cpuop_func op_1090_0_nf; +extern cpuop_func op_1090_0_ff; +extern cpuop_func op_1098_0_nf; +extern cpuop_func op_1098_0_ff; +extern cpuop_func op_10a0_0_nf; +extern cpuop_func op_10a0_0_ff; +extern cpuop_func op_10a8_0_nf; +extern cpuop_func op_10a8_0_ff; +extern cpuop_func op_10b0_0_nf; +extern cpuop_func op_10b0_0_ff; +extern cpuop_func op_10b8_0_nf; +extern cpuop_func op_10b8_0_ff; +extern cpuop_func op_10b9_0_nf; +extern cpuop_func op_10b9_0_ff; +extern cpuop_func op_10ba_0_nf; +extern cpuop_func op_10ba_0_ff; +extern cpuop_func op_10bb_0_nf; +extern cpuop_func op_10bb_0_ff; +extern cpuop_func op_10bc_0_nf; +extern cpuop_func op_10bc_0_ff; +extern cpuop_func op_10c0_0_nf; +extern cpuop_func op_10c0_0_ff; +extern cpuop_func op_10d0_0_nf; +extern cpuop_func op_10d0_0_ff; +extern cpuop_func op_10d8_0_nf; +extern cpuop_func op_10d8_0_ff; +extern cpuop_func op_10e0_0_nf; +extern cpuop_func op_10e0_0_ff; +extern cpuop_func op_10e8_0_nf; +extern cpuop_func op_10e8_0_ff; +extern cpuop_func op_10f0_0_nf; +extern cpuop_func op_10f0_0_ff; +extern cpuop_func op_10f8_0_nf; +extern cpuop_func op_10f8_0_ff; +extern cpuop_func op_10f9_0_nf; +extern cpuop_func op_10f9_0_ff; +extern cpuop_func op_10fa_0_nf; +extern cpuop_func op_10fa_0_ff; +extern cpuop_func op_10fb_0_nf; +extern cpuop_func op_10fb_0_ff; +extern cpuop_func op_10fc_0_nf; +extern cpuop_func op_10fc_0_ff; +extern cpuop_func op_1100_0_nf; +extern cpuop_func op_1100_0_ff; +extern cpuop_func op_1110_0_nf; +extern cpuop_func op_1110_0_ff; +extern cpuop_func op_1118_0_nf; +extern cpuop_func op_1118_0_ff; +extern cpuop_func op_1120_0_nf; +extern cpuop_func op_1120_0_ff; +extern cpuop_func op_1128_0_nf; +extern cpuop_func op_1128_0_ff; +extern cpuop_func op_1130_0_nf; +extern cpuop_func op_1130_0_ff; +extern cpuop_func op_1138_0_nf; +extern cpuop_func op_1138_0_ff; +extern cpuop_func op_1139_0_nf; +extern cpuop_func op_1139_0_ff; +extern cpuop_func op_113a_0_nf; +extern cpuop_func op_113a_0_ff; +extern cpuop_func op_113b_0_nf; +extern cpuop_func op_113b_0_ff; +extern cpuop_func op_113c_0_nf; +extern cpuop_func op_113c_0_ff; +extern cpuop_func op_1140_0_nf; +extern cpuop_func op_1140_0_ff; +extern cpuop_func op_1150_0_nf; +extern cpuop_func op_1150_0_ff; +extern cpuop_func op_1158_0_nf; +extern cpuop_func op_1158_0_ff; +extern cpuop_func op_1160_0_nf; +extern cpuop_func op_1160_0_ff; +extern cpuop_func op_1168_0_nf; +extern cpuop_func op_1168_0_ff; +extern cpuop_func op_1170_0_nf; +extern cpuop_func op_1170_0_ff; +extern cpuop_func op_1178_0_nf; +extern cpuop_func op_1178_0_ff; +extern cpuop_func op_1179_0_nf; +extern cpuop_func op_1179_0_ff; +extern cpuop_func op_117a_0_nf; +extern cpuop_func op_117a_0_ff; +extern cpuop_func op_117b_0_nf; +extern cpuop_func op_117b_0_ff; +extern cpuop_func op_117c_0_nf; +extern cpuop_func op_117c_0_ff; +extern cpuop_func op_1180_0_nf; +extern cpuop_func op_1180_0_ff; +extern cpuop_func op_1190_0_nf; +extern cpuop_func op_1190_0_ff; +extern cpuop_func op_1198_0_nf; +extern cpuop_func op_1198_0_ff; +extern cpuop_func op_11a0_0_nf; +extern cpuop_func op_11a0_0_ff; +extern cpuop_func op_11a8_0_nf; +extern cpuop_func op_11a8_0_ff; +extern cpuop_func op_11b0_0_nf; +extern cpuop_func op_11b0_0_ff; +extern cpuop_func op_11b8_0_nf; +extern cpuop_func op_11b8_0_ff; +extern cpuop_func op_11b9_0_nf; +extern cpuop_func op_11b9_0_ff; +extern cpuop_func op_11ba_0_nf; +extern cpuop_func op_11ba_0_ff; +extern cpuop_func op_11bb_0_nf; +extern cpuop_func op_11bb_0_ff; +extern cpuop_func op_11bc_0_nf; +extern cpuop_func op_11bc_0_ff; +extern cpuop_func op_11c0_0_nf; +extern cpuop_func op_11c0_0_ff; +extern cpuop_func op_11d0_0_nf; +extern cpuop_func op_11d0_0_ff; +extern cpuop_func op_11d8_0_nf; +extern cpuop_func op_11d8_0_ff; +extern cpuop_func op_11e0_0_nf; +extern cpuop_func op_11e0_0_ff; +extern cpuop_func op_11e8_0_nf; +extern cpuop_func op_11e8_0_ff; +extern cpuop_func op_11f0_0_nf; +extern cpuop_func op_11f0_0_ff; +extern cpuop_func op_11f8_0_nf; +extern cpuop_func op_11f8_0_ff; +extern cpuop_func op_11f9_0_nf; +extern cpuop_func op_11f9_0_ff; +extern cpuop_func op_11fa_0_nf; +extern cpuop_func op_11fa_0_ff; +extern cpuop_func op_11fb_0_nf; +extern cpuop_func op_11fb_0_ff; +extern cpuop_func op_11fc_0_nf; +extern cpuop_func op_11fc_0_ff; +extern cpuop_func op_13c0_0_nf; +extern cpuop_func op_13c0_0_ff; +extern cpuop_func op_13d0_0_nf; +extern cpuop_func op_13d0_0_ff; +extern cpuop_func op_13d8_0_nf; +extern cpuop_func op_13d8_0_ff; +extern cpuop_func op_13e0_0_nf; +extern cpuop_func op_13e0_0_ff; +extern cpuop_func op_13e8_0_nf; +extern cpuop_func op_13e8_0_ff; +extern cpuop_func op_13f0_0_nf; +extern cpuop_func op_13f0_0_ff; +extern cpuop_func op_13f8_0_nf; +extern cpuop_func op_13f8_0_ff; +extern cpuop_func op_13f9_0_nf; +extern cpuop_func op_13f9_0_ff; +extern cpuop_func op_13fa_0_nf; +extern cpuop_func op_13fa_0_ff; +extern cpuop_func op_13fb_0_nf; +extern cpuop_func op_13fb_0_ff; +extern cpuop_func op_13fc_0_nf; +extern cpuop_func op_13fc_0_ff; +extern cpuop_func op_2000_0_nf; +extern cpuop_func op_2000_0_ff; +extern cpuop_func op_2008_0_nf; +extern cpuop_func op_2008_0_ff; +extern cpuop_func op_2010_0_nf; +extern cpuop_func op_2010_0_ff; +extern cpuop_func op_2018_0_nf; +extern cpuop_func op_2018_0_ff; +extern cpuop_func op_2020_0_nf; +extern cpuop_func op_2020_0_ff; +extern cpuop_func op_2028_0_nf; +extern cpuop_func op_2028_0_ff; +extern cpuop_func op_2030_0_nf; +extern cpuop_func op_2030_0_ff; +extern cpuop_func op_2038_0_nf; +extern cpuop_func op_2038_0_ff; +extern cpuop_func op_2039_0_nf; +extern cpuop_func op_2039_0_ff; +extern cpuop_func op_203a_0_nf; +extern cpuop_func op_203a_0_ff; +extern cpuop_func op_203b_0_nf; +extern cpuop_func op_203b_0_ff; +extern cpuop_func op_203c_0_nf; +extern cpuop_func op_203c_0_ff; +extern cpuop_func op_2040_0_nf; +extern cpuop_func op_2040_0_ff; +extern cpuop_func op_2048_0_nf; +extern cpuop_func op_2048_0_ff; +extern cpuop_func op_2050_0_nf; +extern cpuop_func op_2050_0_ff; +extern cpuop_func op_2058_0_nf; +extern cpuop_func op_2058_0_ff; +extern cpuop_func op_2060_0_nf; +extern cpuop_func op_2060_0_ff; +extern cpuop_func op_2068_0_nf; +extern cpuop_func op_2068_0_ff; +extern cpuop_func op_2070_0_nf; +extern cpuop_func op_2070_0_ff; +extern cpuop_func op_2078_0_nf; +extern cpuop_func op_2078_0_ff; +extern cpuop_func op_2079_0_nf; +extern cpuop_func op_2079_0_ff; +extern cpuop_func op_207a_0_nf; +extern cpuop_func op_207a_0_ff; +extern cpuop_func op_207b_0_nf; +extern cpuop_func op_207b_0_ff; +extern cpuop_func op_207c_0_nf; +extern cpuop_func op_207c_0_ff; +extern cpuop_func op_2080_0_nf; +extern cpuop_func op_2080_0_ff; +extern cpuop_func op_2088_0_nf; +extern cpuop_func op_2088_0_ff; +extern cpuop_func op_2090_0_nf; +extern cpuop_func op_2090_0_ff; +extern cpuop_func op_2098_0_nf; +extern cpuop_func op_2098_0_ff; +extern cpuop_func op_20a0_0_nf; +extern cpuop_func op_20a0_0_ff; +extern cpuop_func op_20a8_0_nf; +extern cpuop_func op_20a8_0_ff; +extern cpuop_func op_20b0_0_nf; +extern cpuop_func op_20b0_0_ff; +extern cpuop_func op_20b8_0_nf; +extern cpuop_func op_20b8_0_ff; +extern cpuop_func op_20b9_0_nf; +extern cpuop_func op_20b9_0_ff; +extern cpuop_func op_20ba_0_nf; +extern cpuop_func op_20ba_0_ff; +extern cpuop_func op_20bb_0_nf; +extern cpuop_func op_20bb_0_ff; +extern cpuop_func op_20bc_0_nf; +extern cpuop_func op_20bc_0_ff; +extern cpuop_func op_20c0_0_nf; +extern cpuop_func op_20c0_0_ff; +extern cpuop_func op_20c8_0_nf; +extern cpuop_func op_20c8_0_ff; +extern cpuop_func op_20d0_0_nf; +extern cpuop_func op_20d0_0_ff; +extern cpuop_func op_20d8_0_nf; +extern cpuop_func op_20d8_0_ff; +extern cpuop_func op_20e0_0_nf; +extern cpuop_func op_20e0_0_ff; +extern cpuop_func op_20e8_0_nf; +extern cpuop_func op_20e8_0_ff; +extern cpuop_func op_20f0_0_nf; +extern cpuop_func op_20f0_0_ff; +extern cpuop_func op_20f8_0_nf; +extern cpuop_func op_20f8_0_ff; +extern cpuop_func op_20f9_0_nf; +extern cpuop_func op_20f9_0_ff; +extern cpuop_func op_20fa_0_nf; +extern cpuop_func op_20fa_0_ff; +extern cpuop_func op_20fb_0_nf; +extern cpuop_func op_20fb_0_ff; +extern cpuop_func op_20fc_0_nf; +extern cpuop_func op_20fc_0_ff; +extern cpuop_func op_2100_0_nf; +extern cpuop_func op_2100_0_ff; +extern cpuop_func op_2108_0_nf; +extern cpuop_func op_2108_0_ff; +extern cpuop_func op_2110_0_nf; +extern cpuop_func op_2110_0_ff; +extern cpuop_func op_2118_0_nf; +extern cpuop_func op_2118_0_ff; +extern cpuop_func op_2120_0_nf; +extern cpuop_func op_2120_0_ff; +extern cpuop_func op_2128_0_nf; +extern cpuop_func op_2128_0_ff; +extern cpuop_func op_2130_0_nf; +extern cpuop_func op_2130_0_ff; +extern cpuop_func op_2138_0_nf; +extern cpuop_func op_2138_0_ff; +extern cpuop_func op_2139_0_nf; +extern cpuop_func op_2139_0_ff; +extern cpuop_func op_213a_0_nf; +extern cpuop_func op_213a_0_ff; +extern cpuop_func op_213b_0_nf; +extern cpuop_func op_213b_0_ff; +extern cpuop_func op_213c_0_nf; +extern cpuop_func op_213c_0_ff; +extern cpuop_func op_2140_0_nf; +extern cpuop_func op_2140_0_ff; +extern cpuop_func op_2148_0_nf; +extern cpuop_func op_2148_0_ff; +extern cpuop_func op_2150_0_nf; +extern cpuop_func op_2150_0_ff; +extern cpuop_func op_2158_0_nf; +extern cpuop_func op_2158_0_ff; +extern cpuop_func op_2160_0_nf; +extern cpuop_func op_2160_0_ff; +extern cpuop_func op_2168_0_nf; +extern cpuop_func op_2168_0_ff; +extern cpuop_func op_2170_0_nf; +extern cpuop_func op_2170_0_ff; +extern cpuop_func op_2178_0_nf; +extern cpuop_func op_2178_0_ff; +extern cpuop_func op_2179_0_nf; +extern cpuop_func op_2179_0_ff; +extern cpuop_func op_217a_0_nf; +extern cpuop_func op_217a_0_ff; +extern cpuop_func op_217b_0_nf; +extern cpuop_func op_217b_0_ff; +extern cpuop_func op_217c_0_nf; +extern cpuop_func op_217c_0_ff; +extern cpuop_func op_2180_0_nf; +extern cpuop_func op_2180_0_ff; +extern cpuop_func op_2188_0_nf; +extern cpuop_func op_2188_0_ff; +extern cpuop_func op_2190_0_nf; +extern cpuop_func op_2190_0_ff; +extern cpuop_func op_2198_0_nf; +extern cpuop_func op_2198_0_ff; +extern cpuop_func op_21a0_0_nf; +extern cpuop_func op_21a0_0_ff; +extern cpuop_func op_21a8_0_nf; +extern cpuop_func op_21a8_0_ff; +extern cpuop_func op_21b0_0_nf; +extern cpuop_func op_21b0_0_ff; +extern cpuop_func op_21b8_0_nf; +extern cpuop_func op_21b8_0_ff; +extern cpuop_func op_21b9_0_nf; +extern cpuop_func op_21b9_0_ff; +extern cpuop_func op_21ba_0_nf; +extern cpuop_func op_21ba_0_ff; +extern cpuop_func op_21bb_0_nf; +extern cpuop_func op_21bb_0_ff; +extern cpuop_func op_21bc_0_nf; +extern cpuop_func op_21bc_0_ff; +extern cpuop_func op_21c0_0_nf; +extern cpuop_func op_21c0_0_ff; +extern cpuop_func op_21c8_0_nf; +extern cpuop_func op_21c8_0_ff; +extern cpuop_func op_21d0_0_nf; +extern cpuop_func op_21d0_0_ff; +extern cpuop_func op_21d8_0_nf; +extern cpuop_func op_21d8_0_ff; +extern cpuop_func op_21e0_0_nf; +extern cpuop_func op_21e0_0_ff; +extern cpuop_func op_21e8_0_nf; +extern cpuop_func op_21e8_0_ff; +extern cpuop_func op_21f0_0_nf; +extern cpuop_func op_21f0_0_ff; +extern cpuop_func op_21f8_0_nf; +extern cpuop_func op_21f8_0_ff; +extern cpuop_func op_21f9_0_nf; +extern cpuop_func op_21f9_0_ff; +extern cpuop_func op_21fa_0_nf; +extern cpuop_func op_21fa_0_ff; +extern cpuop_func op_21fb_0_nf; +extern cpuop_func op_21fb_0_ff; +extern cpuop_func op_21fc_0_nf; +extern cpuop_func op_21fc_0_ff; +extern cpuop_func op_23c0_0_nf; +extern cpuop_func op_23c0_0_ff; +extern cpuop_func op_23c8_0_nf; +extern cpuop_func op_23c8_0_ff; +extern cpuop_func op_23d0_0_nf; +extern cpuop_func op_23d0_0_ff; +extern cpuop_func op_23d8_0_nf; +extern cpuop_func op_23d8_0_ff; +extern cpuop_func op_23e0_0_nf; +extern cpuop_func op_23e0_0_ff; +extern cpuop_func op_23e8_0_nf; +extern cpuop_func op_23e8_0_ff; +extern cpuop_func op_23f0_0_nf; +extern cpuop_func op_23f0_0_ff; +extern cpuop_func op_23f8_0_nf; +extern cpuop_func op_23f8_0_ff; +extern cpuop_func op_23f9_0_nf; +extern cpuop_func op_23f9_0_ff; +extern cpuop_func op_23fa_0_nf; +extern cpuop_func op_23fa_0_ff; +extern cpuop_func op_23fb_0_nf; +extern cpuop_func op_23fb_0_ff; +extern cpuop_func op_23fc_0_nf; +extern cpuop_func op_23fc_0_ff; +extern cpuop_func op_3000_0_nf; +extern cpuop_func op_3000_0_ff; +extern cpuop_func op_3008_0_nf; +extern cpuop_func op_3008_0_ff; +extern cpuop_func op_3010_0_nf; +extern cpuop_func op_3010_0_ff; +extern cpuop_func op_3018_0_nf; +extern cpuop_func op_3018_0_ff; +extern cpuop_func op_3020_0_nf; +extern cpuop_func op_3020_0_ff; +extern cpuop_func op_3028_0_nf; +extern cpuop_func op_3028_0_ff; +extern cpuop_func op_3030_0_nf; +extern cpuop_func op_3030_0_ff; +extern cpuop_func op_3038_0_nf; +extern cpuop_func op_3038_0_ff; +extern cpuop_func op_3039_0_nf; +extern cpuop_func op_3039_0_ff; +extern cpuop_func op_303a_0_nf; +extern cpuop_func op_303a_0_ff; +extern cpuop_func op_303b_0_nf; +extern cpuop_func op_303b_0_ff; +extern cpuop_func op_303c_0_nf; +extern cpuop_func op_303c_0_ff; +extern cpuop_func op_3040_0_nf; +extern cpuop_func op_3040_0_ff; +extern cpuop_func op_3048_0_nf; +extern cpuop_func op_3048_0_ff; +extern cpuop_func op_3050_0_nf; +extern cpuop_func op_3050_0_ff; +extern cpuop_func op_3058_0_nf; +extern cpuop_func op_3058_0_ff; +extern cpuop_func op_3060_0_nf; +extern cpuop_func op_3060_0_ff; +extern cpuop_func op_3068_0_nf; +extern cpuop_func op_3068_0_ff; +extern cpuop_func op_3070_0_nf; +extern cpuop_func op_3070_0_ff; +extern cpuop_func op_3078_0_nf; +extern cpuop_func op_3078_0_ff; +extern cpuop_func op_3079_0_nf; +extern cpuop_func op_3079_0_ff; +extern cpuop_func op_307a_0_nf; +extern cpuop_func op_307a_0_ff; +extern cpuop_func op_307b_0_nf; +extern cpuop_func op_307b_0_ff; +extern cpuop_func op_307c_0_nf; +extern cpuop_func op_307c_0_ff; +extern cpuop_func op_3080_0_nf; +extern cpuop_func op_3080_0_ff; +extern cpuop_func op_3088_0_nf; +extern cpuop_func op_3088_0_ff; +extern cpuop_func op_3090_0_nf; +extern cpuop_func op_3090_0_ff; +extern cpuop_func op_3098_0_nf; +extern cpuop_func op_3098_0_ff; +extern cpuop_func op_30a0_0_nf; +extern cpuop_func op_30a0_0_ff; +extern cpuop_func op_30a8_0_nf; +extern cpuop_func op_30a8_0_ff; +extern cpuop_func op_30b0_0_nf; +extern cpuop_func op_30b0_0_ff; +extern cpuop_func op_30b8_0_nf; +extern cpuop_func op_30b8_0_ff; +extern cpuop_func op_30b9_0_nf; +extern cpuop_func op_30b9_0_ff; +extern cpuop_func op_30ba_0_nf; +extern cpuop_func op_30ba_0_ff; +extern cpuop_func op_30bb_0_nf; +extern cpuop_func op_30bb_0_ff; +extern cpuop_func op_30bc_0_nf; +extern cpuop_func op_30bc_0_ff; +extern cpuop_func op_30c0_0_nf; +extern cpuop_func op_30c0_0_ff; +extern cpuop_func op_30c8_0_nf; +extern cpuop_func op_30c8_0_ff; +extern cpuop_func op_30d0_0_nf; +extern cpuop_func op_30d0_0_ff; +extern cpuop_func op_30d8_0_nf; +extern cpuop_func op_30d8_0_ff; +extern cpuop_func op_30e0_0_nf; +extern cpuop_func op_30e0_0_ff; +extern cpuop_func op_30e8_0_nf; +extern cpuop_func op_30e8_0_ff; +extern cpuop_func op_30f0_0_nf; +extern cpuop_func op_30f0_0_ff; +extern cpuop_func op_30f8_0_nf; +extern cpuop_func op_30f8_0_ff; +extern cpuop_func op_30f9_0_nf; +extern cpuop_func op_30f9_0_ff; +extern cpuop_func op_30fa_0_nf; +extern cpuop_func op_30fa_0_ff; +extern cpuop_func op_30fb_0_nf; +extern cpuop_func op_30fb_0_ff; +extern cpuop_func op_30fc_0_nf; +extern cpuop_func op_30fc_0_ff; +extern cpuop_func op_3100_0_nf; +extern cpuop_func op_3100_0_ff; +extern cpuop_func op_3108_0_nf; +extern cpuop_func op_3108_0_ff; +extern cpuop_func op_3110_0_nf; +extern cpuop_func op_3110_0_ff; +extern cpuop_func op_3118_0_nf; +extern cpuop_func op_3118_0_ff; +extern cpuop_func op_3120_0_nf; +extern cpuop_func op_3120_0_ff; +extern cpuop_func op_3128_0_nf; +extern cpuop_func op_3128_0_ff; +extern cpuop_func op_3130_0_nf; +extern cpuop_func op_3130_0_ff; +extern cpuop_func op_3138_0_nf; +extern cpuop_func op_3138_0_ff; +extern cpuop_func op_3139_0_nf; +extern cpuop_func op_3139_0_ff; +extern cpuop_func op_313a_0_nf; +extern cpuop_func op_313a_0_ff; +extern cpuop_func op_313b_0_nf; +extern cpuop_func op_313b_0_ff; +extern cpuop_func op_313c_0_nf; +extern cpuop_func op_313c_0_ff; +extern cpuop_func op_3140_0_nf; +extern cpuop_func op_3140_0_ff; +extern cpuop_func op_3148_0_nf; +extern cpuop_func op_3148_0_ff; +extern cpuop_func op_3150_0_nf; +extern cpuop_func op_3150_0_ff; +extern cpuop_func op_3158_0_nf; +extern cpuop_func op_3158_0_ff; +extern cpuop_func op_3160_0_nf; +extern cpuop_func op_3160_0_ff; +extern cpuop_func op_3168_0_nf; +extern cpuop_func op_3168_0_ff; +extern cpuop_func op_3170_0_nf; +extern cpuop_func op_3170_0_ff; +extern cpuop_func op_3178_0_nf; +extern cpuop_func op_3178_0_ff; +extern cpuop_func op_3179_0_nf; +extern cpuop_func op_3179_0_ff; +extern cpuop_func op_317a_0_nf; +extern cpuop_func op_317a_0_ff; +extern cpuop_func op_317b_0_nf; +extern cpuop_func op_317b_0_ff; +extern cpuop_func op_317c_0_nf; +extern cpuop_func op_317c_0_ff; +extern cpuop_func op_3180_0_nf; +extern cpuop_func op_3180_0_ff; +extern cpuop_func op_3188_0_nf; +extern cpuop_func op_3188_0_ff; +extern cpuop_func op_3190_0_nf; +extern cpuop_func op_3190_0_ff; +extern cpuop_func op_3198_0_nf; +extern cpuop_func op_3198_0_ff; +extern cpuop_func op_31a0_0_nf; +extern cpuop_func op_31a0_0_ff; +extern cpuop_func op_31a8_0_nf; +extern cpuop_func op_31a8_0_ff; +extern cpuop_func op_31b0_0_nf; +extern cpuop_func op_31b0_0_ff; +extern cpuop_func op_31b8_0_nf; +extern cpuop_func op_31b8_0_ff; +extern cpuop_func op_31b9_0_nf; +extern cpuop_func op_31b9_0_ff; +extern cpuop_func op_31ba_0_nf; +extern cpuop_func op_31ba_0_ff; +extern cpuop_func op_31bb_0_nf; +extern cpuop_func op_31bb_0_ff; +extern cpuop_func op_31bc_0_nf; +extern cpuop_func op_31bc_0_ff; +extern cpuop_func op_31c0_0_nf; +extern cpuop_func op_31c0_0_ff; +extern cpuop_func op_31c8_0_nf; +extern cpuop_func op_31c8_0_ff; +extern cpuop_func op_31d0_0_nf; +extern cpuop_func op_31d0_0_ff; +extern cpuop_func op_31d8_0_nf; +extern cpuop_func op_31d8_0_ff; +extern cpuop_func op_31e0_0_nf; +extern cpuop_func op_31e0_0_ff; +extern cpuop_func op_31e8_0_nf; +extern cpuop_func op_31e8_0_ff; +extern cpuop_func op_31f0_0_nf; +extern cpuop_func op_31f0_0_ff; +extern cpuop_func op_31f8_0_nf; +extern cpuop_func op_31f8_0_ff; +extern cpuop_func op_31f9_0_nf; +extern cpuop_func op_31f9_0_ff; +extern cpuop_func op_31fa_0_nf; +extern cpuop_func op_31fa_0_ff; +extern cpuop_func op_31fb_0_nf; +extern cpuop_func op_31fb_0_ff; +extern cpuop_func op_31fc_0_nf; +extern cpuop_func op_31fc_0_ff; +extern cpuop_func op_33c0_0_nf; +extern cpuop_func op_33c0_0_ff; +extern cpuop_func op_33c8_0_nf; +extern cpuop_func op_33c8_0_ff; +extern cpuop_func op_33d0_0_nf; +extern cpuop_func op_33d0_0_ff; +extern cpuop_func op_33d8_0_nf; +extern cpuop_func op_33d8_0_ff; +extern cpuop_func op_33e0_0_nf; +extern cpuop_func op_33e0_0_ff; +extern cpuop_func op_33e8_0_nf; +extern cpuop_func op_33e8_0_ff; +extern cpuop_func op_33f0_0_nf; +extern cpuop_func op_33f0_0_ff; +extern cpuop_func op_33f8_0_nf; +extern cpuop_func op_33f8_0_ff; +extern cpuop_func op_33f9_0_nf; +extern cpuop_func op_33f9_0_ff; +extern cpuop_func op_33fa_0_nf; +extern cpuop_func op_33fa_0_ff; +extern cpuop_func op_33fb_0_nf; +extern cpuop_func op_33fb_0_ff; +extern cpuop_func op_33fc_0_nf; +extern cpuop_func op_33fc_0_ff; +extern cpuop_func op_4000_0_nf; +extern cpuop_func op_4000_0_ff; +extern cpuop_func op_4010_0_nf; +extern cpuop_func op_4010_0_ff; +extern cpuop_func op_4018_0_nf; +extern cpuop_func op_4018_0_ff; +extern cpuop_func op_4020_0_nf; +extern cpuop_func op_4020_0_ff; +extern cpuop_func op_4028_0_nf; +extern cpuop_func op_4028_0_ff; +extern cpuop_func op_4030_0_nf; +extern cpuop_func op_4030_0_ff; +extern cpuop_func op_4038_0_nf; +extern cpuop_func op_4038_0_ff; +extern cpuop_func op_4039_0_nf; +extern cpuop_func op_4039_0_ff; +extern cpuop_func op_4040_0_nf; +extern cpuop_func op_4040_0_ff; +extern cpuop_func op_4050_0_nf; +extern cpuop_func op_4050_0_ff; +extern cpuop_func op_4058_0_nf; +extern cpuop_func op_4058_0_ff; +extern cpuop_func op_4060_0_nf; +extern cpuop_func op_4060_0_ff; +extern cpuop_func op_4068_0_nf; +extern cpuop_func op_4068_0_ff; +extern cpuop_func op_4070_0_nf; +extern cpuop_func op_4070_0_ff; +extern cpuop_func op_4078_0_nf; +extern cpuop_func op_4078_0_ff; +extern cpuop_func op_4079_0_nf; +extern cpuop_func op_4079_0_ff; +extern cpuop_func op_4080_0_nf; +extern cpuop_func op_4080_0_ff; +extern cpuop_func op_4090_0_nf; +extern cpuop_func op_4090_0_ff; +extern cpuop_func op_4098_0_nf; +extern cpuop_func op_4098_0_ff; +extern cpuop_func op_40a0_0_nf; +extern cpuop_func op_40a0_0_ff; +extern cpuop_func op_40a8_0_nf; +extern cpuop_func op_40a8_0_ff; +extern cpuop_func op_40b0_0_nf; +extern cpuop_func op_40b0_0_ff; +extern cpuop_func op_40b8_0_nf; +extern cpuop_func op_40b8_0_ff; +extern cpuop_func op_40b9_0_nf; +extern cpuop_func op_40b9_0_ff; +extern cpuop_func op_40c0_0_nf; +extern cpuop_func op_40c0_0_ff; +extern cpuop_func op_40d0_0_nf; +extern cpuop_func op_40d0_0_ff; +extern cpuop_func op_40d8_0_nf; +extern cpuop_func op_40d8_0_ff; +extern cpuop_func op_40e0_0_nf; +extern cpuop_func op_40e0_0_ff; +extern cpuop_func op_40e8_0_nf; +extern cpuop_func op_40e8_0_ff; +extern cpuop_func op_40f0_0_nf; +extern cpuop_func op_40f0_0_ff; +extern cpuop_func op_40f8_0_nf; +extern cpuop_func op_40f8_0_ff; +extern cpuop_func op_40f9_0_nf; +extern cpuop_func op_40f9_0_ff; +extern cpuop_func op_4100_0_nf; +extern cpuop_func op_4100_0_ff; +extern cpuop_func op_4110_0_nf; +extern cpuop_func op_4110_0_ff; +extern cpuop_func op_4118_0_nf; +extern cpuop_func op_4118_0_ff; +extern cpuop_func op_4120_0_nf; +extern cpuop_func op_4120_0_ff; +extern cpuop_func op_4128_0_nf; +extern cpuop_func op_4128_0_ff; +extern cpuop_func op_4130_0_nf; +extern cpuop_func op_4130_0_ff; +extern cpuop_func op_4138_0_nf; +extern cpuop_func op_4138_0_ff; +extern cpuop_func op_4139_0_nf; +extern cpuop_func op_4139_0_ff; +extern cpuop_func op_413a_0_nf; +extern cpuop_func op_413a_0_ff; +extern cpuop_func op_413b_0_nf; +extern cpuop_func op_413b_0_ff; +extern cpuop_func op_413c_0_nf; +extern cpuop_func op_413c_0_ff; +extern cpuop_func op_4180_0_nf; +extern cpuop_func op_4180_0_ff; +extern cpuop_func op_4190_0_nf; +extern cpuop_func op_4190_0_ff; +extern cpuop_func op_4198_0_nf; +extern cpuop_func op_4198_0_ff; +extern cpuop_func op_41a0_0_nf; +extern cpuop_func op_41a0_0_ff; +extern cpuop_func op_41a8_0_nf; +extern cpuop_func op_41a8_0_ff; +extern cpuop_func op_41b0_0_nf; +extern cpuop_func op_41b0_0_ff; +extern cpuop_func op_41b8_0_nf; +extern cpuop_func op_41b8_0_ff; +extern cpuop_func op_41b9_0_nf; +extern cpuop_func op_41b9_0_ff; +extern cpuop_func op_41ba_0_nf; +extern cpuop_func op_41ba_0_ff; +extern cpuop_func op_41bb_0_nf; +extern cpuop_func op_41bb_0_ff; +extern cpuop_func op_41bc_0_nf; +extern cpuop_func op_41bc_0_ff; +extern cpuop_func op_41d0_0_nf; +extern cpuop_func op_41d0_0_ff; +extern cpuop_func op_41e8_0_nf; +extern cpuop_func op_41e8_0_ff; +extern cpuop_func op_41f0_0_nf; +extern cpuop_func op_41f0_0_ff; +extern cpuop_func op_41f8_0_nf; +extern cpuop_func op_41f8_0_ff; +extern cpuop_func op_41f9_0_nf; +extern cpuop_func op_41f9_0_ff; +extern cpuop_func op_41fa_0_nf; +extern cpuop_func op_41fa_0_ff; +extern cpuop_func op_41fb_0_nf; +extern cpuop_func op_41fb_0_ff; +extern cpuop_func op_4200_0_nf; +extern cpuop_func op_4200_0_ff; +extern cpuop_func op_4210_0_nf; +extern cpuop_func op_4210_0_ff; +extern cpuop_func op_4218_0_nf; +extern cpuop_func op_4218_0_ff; +extern cpuop_func op_4220_0_nf; +extern cpuop_func op_4220_0_ff; +extern cpuop_func op_4228_0_nf; +extern cpuop_func op_4228_0_ff; +extern cpuop_func op_4230_0_nf; +extern cpuop_func op_4230_0_ff; +extern cpuop_func op_4238_0_nf; +extern cpuop_func op_4238_0_ff; +extern cpuop_func op_4239_0_nf; +extern cpuop_func op_4239_0_ff; +extern cpuop_func op_4240_0_nf; +extern cpuop_func op_4240_0_ff; +extern cpuop_func op_4250_0_nf; +extern cpuop_func op_4250_0_ff; +extern cpuop_func op_4258_0_nf; +extern cpuop_func op_4258_0_ff; +extern cpuop_func op_4260_0_nf; +extern cpuop_func op_4260_0_ff; +extern cpuop_func op_4268_0_nf; +extern cpuop_func op_4268_0_ff; +extern cpuop_func op_4270_0_nf; +extern cpuop_func op_4270_0_ff; +extern cpuop_func op_4278_0_nf; +extern cpuop_func op_4278_0_ff; +extern cpuop_func op_4279_0_nf; +extern cpuop_func op_4279_0_ff; +extern cpuop_func op_4280_0_nf; +extern cpuop_func op_4280_0_ff; +extern cpuop_func op_4290_0_nf; +extern cpuop_func op_4290_0_ff; +extern cpuop_func op_4298_0_nf; +extern cpuop_func op_4298_0_ff; +extern cpuop_func op_42a0_0_nf; +extern cpuop_func op_42a0_0_ff; +extern cpuop_func op_42a8_0_nf; +extern cpuop_func op_42a8_0_ff; +extern cpuop_func op_42b0_0_nf; +extern cpuop_func op_42b0_0_ff; +extern cpuop_func op_42b8_0_nf; +extern cpuop_func op_42b8_0_ff; +extern cpuop_func op_42b9_0_nf; +extern cpuop_func op_42b9_0_ff; +extern cpuop_func op_42c0_0_nf; +extern cpuop_func op_42c0_0_ff; +extern cpuop_func op_42d0_0_nf; +extern cpuop_func op_42d0_0_ff; +extern cpuop_func op_42d8_0_nf; +extern cpuop_func op_42d8_0_ff; +extern cpuop_func op_42e0_0_nf; +extern cpuop_func op_42e0_0_ff; +extern cpuop_func op_42e8_0_nf; +extern cpuop_func op_42e8_0_ff; +extern cpuop_func op_42f0_0_nf; +extern cpuop_func op_42f0_0_ff; +extern cpuop_func op_42f8_0_nf; +extern cpuop_func op_42f8_0_ff; +extern cpuop_func op_42f9_0_nf; +extern cpuop_func op_42f9_0_ff; +extern cpuop_func op_4400_0_nf; +extern cpuop_func op_4400_0_ff; +extern cpuop_func op_4410_0_nf; +extern cpuop_func op_4410_0_ff; +extern cpuop_func op_4418_0_nf; +extern cpuop_func op_4418_0_ff; +extern cpuop_func op_4420_0_nf; +extern cpuop_func op_4420_0_ff; +extern cpuop_func op_4428_0_nf; +extern cpuop_func op_4428_0_ff; +extern cpuop_func op_4430_0_nf; +extern cpuop_func op_4430_0_ff; +extern cpuop_func op_4438_0_nf; +extern cpuop_func op_4438_0_ff; +extern cpuop_func op_4439_0_nf; +extern cpuop_func op_4439_0_ff; +extern cpuop_func op_4440_0_nf; +extern cpuop_func op_4440_0_ff; +extern cpuop_func op_4450_0_nf; +extern cpuop_func op_4450_0_ff; +extern cpuop_func op_4458_0_nf; +extern cpuop_func op_4458_0_ff; +extern cpuop_func op_4460_0_nf; +extern cpuop_func op_4460_0_ff; +extern cpuop_func op_4468_0_nf; +extern cpuop_func op_4468_0_ff; +extern cpuop_func op_4470_0_nf; +extern cpuop_func op_4470_0_ff; +extern cpuop_func op_4478_0_nf; +extern cpuop_func op_4478_0_ff; +extern cpuop_func op_4479_0_nf; +extern cpuop_func op_4479_0_ff; +extern cpuop_func op_4480_0_nf; +extern cpuop_func op_4480_0_ff; +extern cpuop_func op_4490_0_nf; +extern cpuop_func op_4490_0_ff; +extern cpuop_func op_4498_0_nf; +extern cpuop_func op_4498_0_ff; +extern cpuop_func op_44a0_0_nf; +extern cpuop_func op_44a0_0_ff; +extern cpuop_func op_44a8_0_nf; +extern cpuop_func op_44a8_0_ff; +extern cpuop_func op_44b0_0_nf; +extern cpuop_func op_44b0_0_ff; +extern cpuop_func op_44b8_0_nf; +extern cpuop_func op_44b8_0_ff; +extern cpuop_func op_44b9_0_nf; +extern cpuop_func op_44b9_0_ff; +extern cpuop_func op_44c0_0_nf; +extern cpuop_func op_44c0_0_ff; +extern cpuop_func op_44d0_0_nf; +extern cpuop_func op_44d0_0_ff; +extern cpuop_func op_44d8_0_nf; +extern cpuop_func op_44d8_0_ff; +extern cpuop_func op_44e0_0_nf; +extern cpuop_func op_44e0_0_ff; +extern cpuop_func op_44e8_0_nf; +extern cpuop_func op_44e8_0_ff; +extern cpuop_func op_44f0_0_nf; +extern cpuop_func op_44f0_0_ff; +extern cpuop_func op_44f8_0_nf; +extern cpuop_func op_44f8_0_ff; +extern cpuop_func op_44f9_0_nf; +extern cpuop_func op_44f9_0_ff; +extern cpuop_func op_44fa_0_nf; +extern cpuop_func op_44fa_0_ff; +extern cpuop_func op_44fb_0_nf; +extern cpuop_func op_44fb_0_ff; +extern cpuop_func op_44fc_0_nf; +extern cpuop_func op_44fc_0_ff; +extern cpuop_func op_4600_0_nf; +extern cpuop_func op_4600_0_ff; +extern cpuop_func op_4610_0_nf; +extern cpuop_func op_4610_0_ff; +extern cpuop_func op_4618_0_nf; +extern cpuop_func op_4618_0_ff; +extern cpuop_func op_4620_0_nf; +extern cpuop_func op_4620_0_ff; +extern cpuop_func op_4628_0_nf; +extern cpuop_func op_4628_0_ff; +extern cpuop_func op_4630_0_nf; +extern cpuop_func op_4630_0_ff; +extern cpuop_func op_4638_0_nf; +extern cpuop_func op_4638_0_ff; +extern cpuop_func op_4639_0_nf; +extern cpuop_func op_4639_0_ff; +extern cpuop_func op_4640_0_nf; +extern cpuop_func op_4640_0_ff; +extern cpuop_func op_4650_0_nf; +extern cpuop_func op_4650_0_ff; +extern cpuop_func op_4658_0_nf; +extern cpuop_func op_4658_0_ff; +extern cpuop_func op_4660_0_nf; +extern cpuop_func op_4660_0_ff; +extern cpuop_func op_4668_0_nf; +extern cpuop_func op_4668_0_ff; +extern cpuop_func op_4670_0_nf; +extern cpuop_func op_4670_0_ff; +extern cpuop_func op_4678_0_nf; +extern cpuop_func op_4678_0_ff; +extern cpuop_func op_4679_0_nf; +extern cpuop_func op_4679_0_ff; +extern cpuop_func op_4680_0_nf; +extern cpuop_func op_4680_0_ff; +extern cpuop_func op_4690_0_nf; +extern cpuop_func op_4690_0_ff; +extern cpuop_func op_4698_0_nf; +extern cpuop_func op_4698_0_ff; +extern cpuop_func op_46a0_0_nf; +extern cpuop_func op_46a0_0_ff; +extern cpuop_func op_46a8_0_nf; +extern cpuop_func op_46a8_0_ff; +extern cpuop_func op_46b0_0_nf; +extern cpuop_func op_46b0_0_ff; +extern cpuop_func op_46b8_0_nf; +extern cpuop_func op_46b8_0_ff; +extern cpuop_func op_46b9_0_nf; +extern cpuop_func op_46b9_0_ff; +extern cpuop_func op_46c0_0_nf; +extern cpuop_func op_46c0_0_ff; +extern cpuop_func op_46d0_0_nf; +extern cpuop_func op_46d0_0_ff; +extern cpuop_func op_46d8_0_nf; +extern cpuop_func op_46d8_0_ff; +extern cpuop_func op_46e0_0_nf; +extern cpuop_func op_46e0_0_ff; +extern cpuop_func op_46e8_0_nf; +extern cpuop_func op_46e8_0_ff; +extern cpuop_func op_46f0_0_nf; +extern cpuop_func op_46f0_0_ff; +extern cpuop_func op_46f8_0_nf; +extern cpuop_func op_46f8_0_ff; +extern cpuop_func op_46f9_0_nf; +extern cpuop_func op_46f9_0_ff; +extern cpuop_func op_46fa_0_nf; +extern cpuop_func op_46fa_0_ff; +extern cpuop_func op_46fb_0_nf; +extern cpuop_func op_46fb_0_ff; +extern cpuop_func op_46fc_0_nf; +extern cpuop_func op_46fc_0_ff; +extern cpuop_func op_4800_0_nf; +extern cpuop_func op_4800_0_ff; +extern cpuop_func op_4808_0_nf; +extern cpuop_func op_4808_0_ff; +extern cpuop_func op_4810_0_nf; +extern cpuop_func op_4810_0_ff; +extern cpuop_func op_4818_0_nf; +extern cpuop_func op_4818_0_ff; +extern cpuop_func op_4820_0_nf; +extern cpuop_func op_4820_0_ff; +extern cpuop_func op_4828_0_nf; +extern cpuop_func op_4828_0_ff; +extern cpuop_func op_4830_0_nf; +extern cpuop_func op_4830_0_ff; +extern cpuop_func op_4838_0_nf; +extern cpuop_func op_4838_0_ff; +extern cpuop_func op_4839_0_nf; +extern cpuop_func op_4839_0_ff; +extern cpuop_func op_4840_0_nf; +extern cpuop_func op_4840_0_ff; +extern cpuop_func op_4848_0_nf; +extern cpuop_func op_4848_0_ff; +extern cpuop_func op_4850_0_nf; +extern cpuop_func op_4850_0_ff; +extern cpuop_func op_4868_0_nf; +extern cpuop_func op_4868_0_ff; +extern cpuop_func op_4870_0_nf; +extern cpuop_func op_4870_0_ff; +extern cpuop_func op_4878_0_nf; +extern cpuop_func op_4878_0_ff; +extern cpuop_func op_4879_0_nf; +extern cpuop_func op_4879_0_ff; +extern cpuop_func op_487a_0_nf; +extern cpuop_func op_487a_0_ff; +extern cpuop_func op_487b_0_nf; +extern cpuop_func op_487b_0_ff; +extern cpuop_func op_4880_0_nf; +extern cpuop_func op_4880_0_ff; +extern cpuop_func op_4890_0_nf; +extern cpuop_func op_4890_0_ff; +extern cpuop_func op_48a0_0_nf; +extern cpuop_func op_48a0_0_ff; +extern cpuop_func op_48a8_0_nf; +extern cpuop_func op_48a8_0_ff; +extern cpuop_func op_48b0_0_nf; +extern cpuop_func op_48b0_0_ff; +extern cpuop_func op_48b8_0_nf; +extern cpuop_func op_48b8_0_ff; +extern cpuop_func op_48b9_0_nf; +extern cpuop_func op_48b9_0_ff; +extern cpuop_func op_48c0_0_nf; +extern cpuop_func op_48c0_0_ff; +extern cpuop_func op_48d0_0_nf; +extern cpuop_func op_48d0_0_ff; +extern cpuop_func op_48e0_0_nf; +extern cpuop_func op_48e0_0_ff; +extern cpuop_func op_48e8_0_nf; +extern cpuop_func op_48e8_0_ff; +extern cpuop_func op_48f0_0_nf; +extern cpuop_func op_48f0_0_ff; +extern cpuop_func op_48f8_0_nf; +extern cpuop_func op_48f8_0_ff; +extern cpuop_func op_48f9_0_nf; +extern cpuop_func op_48f9_0_ff; +extern cpuop_func op_49c0_0_nf; +extern cpuop_func op_49c0_0_ff; +extern cpuop_func op_4a00_0_nf; +extern cpuop_func op_4a00_0_ff; +extern cpuop_func op_4a10_0_nf; +extern cpuop_func op_4a10_0_ff; +extern cpuop_func op_4a18_0_nf; +extern cpuop_func op_4a18_0_ff; +extern cpuop_func op_4a20_0_nf; +extern cpuop_func op_4a20_0_ff; +extern cpuop_func op_4a28_0_nf; +extern cpuop_func op_4a28_0_ff; +extern cpuop_func op_4a30_0_nf; +extern cpuop_func op_4a30_0_ff; +extern cpuop_func op_4a38_0_nf; +extern cpuop_func op_4a38_0_ff; +extern cpuop_func op_4a39_0_nf; +extern cpuop_func op_4a39_0_ff; +extern cpuop_func op_4a3a_0_nf; +extern cpuop_func op_4a3a_0_ff; +extern cpuop_func op_4a3b_0_nf; +extern cpuop_func op_4a3b_0_ff; +extern cpuop_func op_4a3c_0_nf; +extern cpuop_func op_4a3c_0_ff; +extern cpuop_func op_4a40_0_nf; +extern cpuop_func op_4a40_0_ff; +extern cpuop_func op_4a48_0_nf; +extern cpuop_func op_4a48_0_ff; +extern cpuop_func op_4a50_0_nf; +extern cpuop_func op_4a50_0_ff; +extern cpuop_func op_4a58_0_nf; +extern cpuop_func op_4a58_0_ff; +extern cpuop_func op_4a60_0_nf; +extern cpuop_func op_4a60_0_ff; +extern cpuop_func op_4a68_0_nf; +extern cpuop_func op_4a68_0_ff; +extern cpuop_func op_4a70_0_nf; +extern cpuop_func op_4a70_0_ff; +extern cpuop_func op_4a78_0_nf; +extern cpuop_func op_4a78_0_ff; +extern cpuop_func op_4a79_0_nf; +extern cpuop_func op_4a79_0_ff; +extern cpuop_func op_4a7a_0_nf; +extern cpuop_func op_4a7a_0_ff; +extern cpuop_func op_4a7b_0_nf; +extern cpuop_func op_4a7b_0_ff; +extern cpuop_func op_4a7c_0_nf; +extern cpuop_func op_4a7c_0_ff; +extern cpuop_func op_4a80_0_nf; +extern cpuop_func op_4a80_0_ff; +extern cpuop_func op_4a88_0_nf; +extern cpuop_func op_4a88_0_ff; +extern cpuop_func op_4a90_0_nf; +extern cpuop_func op_4a90_0_ff; +extern cpuop_func op_4a98_0_nf; +extern cpuop_func op_4a98_0_ff; +extern cpuop_func op_4aa0_0_nf; +extern cpuop_func op_4aa0_0_ff; +extern cpuop_func op_4aa8_0_nf; +extern cpuop_func op_4aa8_0_ff; +extern cpuop_func op_4ab0_0_nf; +extern cpuop_func op_4ab0_0_ff; +extern cpuop_func op_4ab8_0_nf; +extern cpuop_func op_4ab8_0_ff; +extern cpuop_func op_4ab9_0_nf; +extern cpuop_func op_4ab9_0_ff; +extern cpuop_func op_4aba_0_nf; +extern cpuop_func op_4aba_0_ff; +extern cpuop_func op_4abb_0_nf; +extern cpuop_func op_4abb_0_ff; +extern cpuop_func op_4abc_0_nf; +extern cpuop_func op_4abc_0_ff; +extern cpuop_func op_4ac0_0_nf; +extern cpuop_func op_4ac0_0_ff; +extern cpuop_func op_4ad0_0_nf; +extern cpuop_func op_4ad0_0_ff; +extern cpuop_func op_4ad8_0_nf; +extern cpuop_func op_4ad8_0_ff; +extern cpuop_func op_4ae0_0_nf; +extern cpuop_func op_4ae0_0_ff; +extern cpuop_func op_4ae8_0_nf; +extern cpuop_func op_4ae8_0_ff; +extern cpuop_func op_4af0_0_nf; +extern cpuop_func op_4af0_0_ff; +extern cpuop_func op_4af8_0_nf; +extern cpuop_func op_4af8_0_ff; +extern cpuop_func op_4af9_0_nf; +extern cpuop_func op_4af9_0_ff; +extern cpuop_func op_4c00_0_nf; +extern cpuop_func op_4c00_0_ff; +extern cpuop_func op_4c10_0_nf; +extern cpuop_func op_4c10_0_ff; +extern cpuop_func op_4c18_0_nf; +extern cpuop_func op_4c18_0_ff; +extern cpuop_func op_4c20_0_nf; +extern cpuop_func op_4c20_0_ff; +extern cpuop_func op_4c28_0_nf; +extern cpuop_func op_4c28_0_ff; +extern cpuop_func op_4c30_0_nf; +extern cpuop_func op_4c30_0_ff; +extern cpuop_func op_4c38_0_nf; +extern cpuop_func op_4c38_0_ff; +extern cpuop_func op_4c39_0_nf; +extern cpuop_func op_4c39_0_ff; +extern cpuop_func op_4c3a_0_nf; +extern cpuop_func op_4c3a_0_ff; +extern cpuop_func op_4c3b_0_nf; +extern cpuop_func op_4c3b_0_ff; +extern cpuop_func op_4c3c_0_nf; +extern cpuop_func op_4c3c_0_ff; +extern cpuop_func op_4c40_0_nf; +extern cpuop_func op_4c40_0_ff; +extern cpuop_func op_4c50_0_nf; +extern cpuop_func op_4c50_0_ff; +extern cpuop_func op_4c58_0_nf; +extern cpuop_func op_4c58_0_ff; +extern cpuop_func op_4c60_0_nf; +extern cpuop_func op_4c60_0_ff; +extern cpuop_func op_4c68_0_nf; +extern cpuop_func op_4c68_0_ff; +extern cpuop_func op_4c70_0_nf; +extern cpuop_func op_4c70_0_ff; +extern cpuop_func op_4c78_0_nf; +extern cpuop_func op_4c78_0_ff; +extern cpuop_func op_4c79_0_nf; +extern cpuop_func op_4c79_0_ff; +extern cpuop_func op_4c7a_0_nf; +extern cpuop_func op_4c7a_0_ff; +extern cpuop_func op_4c7b_0_nf; +extern cpuop_func op_4c7b_0_ff; +extern cpuop_func op_4c7c_0_nf; +extern cpuop_func op_4c7c_0_ff; +extern cpuop_func op_4c90_0_nf; +extern cpuop_func op_4c90_0_ff; +extern cpuop_func op_4c98_0_nf; +extern cpuop_func op_4c98_0_ff; +extern cpuop_func op_4ca8_0_nf; +extern cpuop_func op_4ca8_0_ff; +extern cpuop_func op_4cb0_0_nf; +extern cpuop_func op_4cb0_0_ff; +extern cpuop_func op_4cb8_0_nf; +extern cpuop_func op_4cb8_0_ff; +extern cpuop_func op_4cb9_0_nf; +extern cpuop_func op_4cb9_0_ff; +extern cpuop_func op_4cba_0_nf; +extern cpuop_func op_4cba_0_ff; +extern cpuop_func op_4cbb_0_nf; +extern cpuop_func op_4cbb_0_ff; +extern cpuop_func op_4cd0_0_nf; +extern cpuop_func op_4cd0_0_ff; +extern cpuop_func op_4cd8_0_nf; +extern cpuop_func op_4cd8_0_ff; +extern cpuop_func op_4ce8_0_nf; +extern cpuop_func op_4ce8_0_ff; +extern cpuop_func op_4cf0_0_nf; +extern cpuop_func op_4cf0_0_ff; +extern cpuop_func op_4cf8_0_nf; +extern cpuop_func op_4cf8_0_ff; +extern cpuop_func op_4cf9_0_nf; +extern cpuop_func op_4cf9_0_ff; +extern cpuop_func op_4cfa_0_nf; +extern cpuop_func op_4cfa_0_ff; +extern cpuop_func op_4cfb_0_nf; +extern cpuop_func op_4cfb_0_ff; +extern cpuop_func op_4e40_0_nf; +extern cpuop_func op_4e40_0_ff; +extern cpuop_func op_4e50_0_nf; +extern cpuop_func op_4e50_0_ff; +extern cpuop_func op_4e58_0_nf; +extern cpuop_func op_4e58_0_ff; +extern cpuop_func op_4e60_0_nf; +extern cpuop_func op_4e60_0_ff; +extern cpuop_func op_4e68_0_nf; +extern cpuop_func op_4e68_0_ff; +extern cpuop_func op_4e70_0_nf; +extern cpuop_func op_4e70_0_ff; +extern cpuop_func op_4e71_0_nf; +extern cpuop_func op_4e71_0_ff; +extern cpuop_func op_4e72_0_nf; +extern cpuop_func op_4e72_0_ff; +extern cpuop_func op_4e73_0_nf; +extern cpuop_func op_4e73_0_ff; +extern cpuop_func op_4e74_0_nf; +extern cpuop_func op_4e74_0_ff; +extern cpuop_func op_4e75_0_nf; +extern cpuop_func op_4e75_0_ff; +extern cpuop_func op_4e76_0_nf; +extern cpuop_func op_4e76_0_ff; +extern cpuop_func op_4e77_0_nf; +extern cpuop_func op_4e77_0_ff; +extern cpuop_func op_4e7a_0_nf; +extern cpuop_func op_4e7a_0_ff; +extern cpuop_func op_4e7b_0_nf; +extern cpuop_func op_4e7b_0_ff; +extern cpuop_func op_4e90_0_nf; +extern cpuop_func op_4e90_0_ff; +extern cpuop_func op_4ea8_0_nf; +extern cpuop_func op_4ea8_0_ff; +extern cpuop_func op_4eb0_0_nf; +extern cpuop_func op_4eb0_0_ff; +extern cpuop_func op_4eb8_0_nf; +extern cpuop_func op_4eb8_0_ff; +extern cpuop_func op_4eb9_0_nf; +extern cpuop_func op_4eb9_0_ff; +extern cpuop_func op_4eba_0_nf; +extern cpuop_func op_4eba_0_ff; +extern cpuop_func op_4ebb_0_nf; +extern cpuop_func op_4ebb_0_ff; +extern cpuop_func op_4ed0_0_nf; +extern cpuop_func op_4ed0_0_ff; +extern cpuop_func op_4ee8_0_nf; +extern cpuop_func op_4ee8_0_ff; +extern cpuop_func op_4ef0_0_nf; +extern cpuop_func op_4ef0_0_ff; +extern cpuop_func op_4ef8_0_nf; +extern cpuop_func op_4ef8_0_ff; +extern cpuop_func op_4ef9_0_nf; +extern cpuop_func op_4ef9_0_ff; +extern cpuop_func op_4efa_0_nf; +extern cpuop_func op_4efa_0_ff; +extern cpuop_func op_4efb_0_nf; +extern cpuop_func op_4efb_0_ff; +extern cpuop_func op_5000_0_nf; +extern cpuop_func op_5000_0_ff; +extern cpuop_func op_5010_0_nf; +extern cpuop_func op_5010_0_ff; +extern cpuop_func op_5018_0_nf; +extern cpuop_func op_5018_0_ff; +extern cpuop_func op_5020_0_nf; +extern cpuop_func op_5020_0_ff; +extern cpuop_func op_5028_0_nf; +extern cpuop_func op_5028_0_ff; +extern cpuop_func op_5030_0_nf; +extern cpuop_func op_5030_0_ff; +extern cpuop_func op_5038_0_nf; +extern cpuop_func op_5038_0_ff; +extern cpuop_func op_5039_0_nf; +extern cpuop_func op_5039_0_ff; +extern cpuop_func op_5040_0_nf; +extern cpuop_func op_5040_0_ff; +extern cpuop_func op_5048_0_nf; +extern cpuop_func op_5048_0_ff; +extern cpuop_func op_5050_0_nf; +extern cpuop_func op_5050_0_ff; +extern cpuop_func op_5058_0_nf; +extern cpuop_func op_5058_0_ff; +extern cpuop_func op_5060_0_nf; +extern cpuop_func op_5060_0_ff; +extern cpuop_func op_5068_0_nf; +extern cpuop_func op_5068_0_ff; +extern cpuop_func op_5070_0_nf; +extern cpuop_func op_5070_0_ff; +extern cpuop_func op_5078_0_nf; +extern cpuop_func op_5078_0_ff; +extern cpuop_func op_5079_0_nf; +extern cpuop_func op_5079_0_ff; +extern cpuop_func op_5080_0_nf; +extern cpuop_func op_5080_0_ff; +extern cpuop_func op_5088_0_nf; +extern cpuop_func op_5088_0_ff; +extern cpuop_func op_5090_0_nf; +extern cpuop_func op_5090_0_ff; +extern cpuop_func op_5098_0_nf; +extern cpuop_func op_5098_0_ff; +extern cpuop_func op_50a0_0_nf; +extern cpuop_func op_50a0_0_ff; +extern cpuop_func op_50a8_0_nf; +extern cpuop_func op_50a8_0_ff; +extern cpuop_func op_50b0_0_nf; +extern cpuop_func op_50b0_0_ff; +extern cpuop_func op_50b8_0_nf; +extern cpuop_func op_50b8_0_ff; +extern cpuop_func op_50b9_0_nf; +extern cpuop_func op_50b9_0_ff; +extern cpuop_func op_50c0_0_nf; +extern cpuop_func op_50c0_0_ff; +extern cpuop_func op_50c8_0_nf; +extern cpuop_func op_50c8_0_ff; +extern cpuop_func op_50d0_0_nf; +extern cpuop_func op_50d0_0_ff; +extern cpuop_func op_50d8_0_nf; +extern cpuop_func op_50d8_0_ff; +extern cpuop_func op_50e0_0_nf; +extern cpuop_func op_50e0_0_ff; +extern cpuop_func op_50e8_0_nf; +extern cpuop_func op_50e8_0_ff; +extern cpuop_func op_50f0_0_nf; +extern cpuop_func op_50f0_0_ff; +extern cpuop_func op_50f8_0_nf; +extern cpuop_func op_50f8_0_ff; +extern cpuop_func op_50f9_0_nf; +extern cpuop_func op_50f9_0_ff; +extern cpuop_func op_50fa_0_nf; +extern cpuop_func op_50fa_0_ff; +extern cpuop_func op_50fb_0_nf; +extern cpuop_func op_50fb_0_ff; +extern cpuop_func op_50fc_0_nf; +extern cpuop_func op_50fc_0_ff; +extern cpuop_func op_5100_0_nf; +extern cpuop_func op_5100_0_ff; +extern cpuop_func op_5110_0_nf; +extern cpuop_func op_5110_0_ff; +extern cpuop_func op_5118_0_nf; +extern cpuop_func op_5118_0_ff; +extern cpuop_func op_5120_0_nf; +extern cpuop_func op_5120_0_ff; +extern cpuop_func op_5128_0_nf; +extern cpuop_func op_5128_0_ff; +extern cpuop_func op_5130_0_nf; +extern cpuop_func op_5130_0_ff; +extern cpuop_func op_5138_0_nf; +extern cpuop_func op_5138_0_ff; +extern cpuop_func op_5139_0_nf; +extern cpuop_func op_5139_0_ff; +extern cpuop_func op_5140_0_nf; +extern cpuop_func op_5140_0_ff; +extern cpuop_func op_5148_0_nf; +extern cpuop_func op_5148_0_ff; +extern cpuop_func op_5150_0_nf; +extern cpuop_func op_5150_0_ff; +extern cpuop_func op_5158_0_nf; +extern cpuop_func op_5158_0_ff; +extern cpuop_func op_5160_0_nf; +extern cpuop_func op_5160_0_ff; +extern cpuop_func op_5168_0_nf; +extern cpuop_func op_5168_0_ff; +extern cpuop_func op_5170_0_nf; +extern cpuop_func op_5170_0_ff; +extern cpuop_func op_5178_0_nf; +extern cpuop_func op_5178_0_ff; +extern cpuop_func op_5179_0_nf; +extern cpuop_func op_5179_0_ff; +extern cpuop_func op_5180_0_nf; +extern cpuop_func op_5180_0_ff; +extern cpuop_func op_5188_0_nf; +extern cpuop_func op_5188_0_ff; +extern cpuop_func op_5190_0_nf; +extern cpuop_func op_5190_0_ff; +extern cpuop_func op_5198_0_nf; +extern cpuop_func op_5198_0_ff; +extern cpuop_func op_51a0_0_nf; +extern cpuop_func op_51a0_0_ff; +extern cpuop_func op_51a8_0_nf; +extern cpuop_func op_51a8_0_ff; +extern cpuop_func op_51b0_0_nf; +extern cpuop_func op_51b0_0_ff; +extern cpuop_func op_51b8_0_nf; +extern cpuop_func op_51b8_0_ff; +extern cpuop_func op_51b9_0_nf; +extern cpuop_func op_51b9_0_ff; +extern cpuop_func op_51c0_0_nf; +extern cpuop_func op_51c0_0_ff; +extern cpuop_func op_51c8_0_nf; +extern cpuop_func op_51c8_0_ff; +extern cpuop_func op_51d0_0_nf; +extern cpuop_func op_51d0_0_ff; +extern cpuop_func op_51d8_0_nf; +extern cpuop_func op_51d8_0_ff; +extern cpuop_func op_51e0_0_nf; +extern cpuop_func op_51e0_0_ff; +extern cpuop_func op_51e8_0_nf; +extern cpuop_func op_51e8_0_ff; +extern cpuop_func op_51f0_0_nf; +extern cpuop_func op_51f0_0_ff; +extern cpuop_func op_51f8_0_nf; +extern cpuop_func op_51f8_0_ff; +extern cpuop_func op_51f9_0_nf; +extern cpuop_func op_51f9_0_ff; +extern cpuop_func op_51fa_0_nf; +extern cpuop_func op_51fa_0_ff; +extern cpuop_func op_51fb_0_nf; +extern cpuop_func op_51fb_0_ff; +extern cpuop_func op_51fc_0_nf; +extern cpuop_func op_51fc_0_ff; +extern cpuop_func op_52c0_0_nf; +extern cpuop_func op_52c0_0_ff; +extern cpuop_func op_52c8_0_nf; +extern cpuop_func op_52c8_0_ff; +extern cpuop_func op_52d0_0_nf; +extern cpuop_func op_52d0_0_ff; +extern cpuop_func op_52d8_0_nf; +extern cpuop_func op_52d8_0_ff; +extern cpuop_func op_52e0_0_nf; +extern cpuop_func op_52e0_0_ff; +extern cpuop_func op_52e8_0_nf; +extern cpuop_func op_52e8_0_ff; +extern cpuop_func op_52f0_0_nf; +extern cpuop_func op_52f0_0_ff; +extern cpuop_func op_52f8_0_nf; +extern cpuop_func op_52f8_0_ff; +extern cpuop_func op_52f9_0_nf; +extern cpuop_func op_52f9_0_ff; +extern cpuop_func op_52fa_0_nf; +extern cpuop_func op_52fa_0_ff; +extern cpuop_func op_52fb_0_nf; +extern cpuop_func op_52fb_0_ff; +extern cpuop_func op_52fc_0_nf; +extern cpuop_func op_52fc_0_ff; +extern cpuop_func op_53c0_0_nf; +extern cpuop_func op_53c0_0_ff; +extern cpuop_func op_53c8_0_nf; +extern cpuop_func op_53c8_0_ff; +extern cpuop_func op_53d0_0_nf; +extern cpuop_func op_53d0_0_ff; +extern cpuop_func op_53d8_0_nf; +extern cpuop_func op_53d8_0_ff; +extern cpuop_func op_53e0_0_nf; +extern cpuop_func op_53e0_0_ff; +extern cpuop_func op_53e8_0_nf; +extern cpuop_func op_53e8_0_ff; +extern cpuop_func op_53f0_0_nf; +extern cpuop_func op_53f0_0_ff; +extern cpuop_func op_53f8_0_nf; +extern cpuop_func op_53f8_0_ff; +extern cpuop_func op_53f9_0_nf; +extern cpuop_func op_53f9_0_ff; +extern cpuop_func op_53fa_0_nf; +extern cpuop_func op_53fa_0_ff; +extern cpuop_func op_53fb_0_nf; +extern cpuop_func op_53fb_0_ff; +extern cpuop_func op_53fc_0_nf; +extern cpuop_func op_53fc_0_ff; +extern cpuop_func op_54c0_0_nf; +extern cpuop_func op_54c0_0_ff; +extern cpuop_func op_54c8_0_nf; +extern cpuop_func op_54c8_0_ff; +extern cpuop_func op_54d0_0_nf; +extern cpuop_func op_54d0_0_ff; +extern cpuop_func op_54d8_0_nf; +extern cpuop_func op_54d8_0_ff; +extern cpuop_func op_54e0_0_nf; +extern cpuop_func op_54e0_0_ff; +extern cpuop_func op_54e8_0_nf; +extern cpuop_func op_54e8_0_ff; +extern cpuop_func op_54f0_0_nf; +extern cpuop_func op_54f0_0_ff; +extern cpuop_func op_54f8_0_nf; +extern cpuop_func op_54f8_0_ff; +extern cpuop_func op_54f9_0_nf; +extern cpuop_func op_54f9_0_ff; +extern cpuop_func op_54fa_0_nf; +extern cpuop_func op_54fa_0_ff; +extern cpuop_func op_54fb_0_nf; +extern cpuop_func op_54fb_0_ff; +extern cpuop_func op_54fc_0_nf; +extern cpuop_func op_54fc_0_ff; +extern cpuop_func op_55c0_0_nf; +extern cpuop_func op_55c0_0_ff; +extern cpuop_func op_55c8_0_nf; +extern cpuop_func op_55c8_0_ff; +extern cpuop_func op_55d0_0_nf; +extern cpuop_func op_55d0_0_ff; +extern cpuop_func op_55d8_0_nf; +extern cpuop_func op_55d8_0_ff; +extern cpuop_func op_55e0_0_nf; +extern cpuop_func op_55e0_0_ff; +extern cpuop_func op_55e8_0_nf; +extern cpuop_func op_55e8_0_ff; +extern cpuop_func op_55f0_0_nf; +extern cpuop_func op_55f0_0_ff; +extern cpuop_func op_55f8_0_nf; +extern cpuop_func op_55f8_0_ff; +extern cpuop_func op_55f9_0_nf; +extern cpuop_func op_55f9_0_ff; +extern cpuop_func op_55fa_0_nf; +extern cpuop_func op_55fa_0_ff; +extern cpuop_func op_55fb_0_nf; +extern cpuop_func op_55fb_0_ff; +extern cpuop_func op_55fc_0_nf; +extern cpuop_func op_55fc_0_ff; +extern cpuop_func op_56c0_0_nf; +extern cpuop_func op_56c0_0_ff; +extern cpuop_func op_56c8_0_nf; +extern cpuop_func op_56c8_0_ff; +extern cpuop_func op_56d0_0_nf; +extern cpuop_func op_56d0_0_ff; +extern cpuop_func op_56d8_0_nf; +extern cpuop_func op_56d8_0_ff; +extern cpuop_func op_56e0_0_nf; +extern cpuop_func op_56e0_0_ff; +extern cpuop_func op_56e8_0_nf; +extern cpuop_func op_56e8_0_ff; +extern cpuop_func op_56f0_0_nf; +extern cpuop_func op_56f0_0_ff; +extern cpuop_func op_56f8_0_nf; +extern cpuop_func op_56f8_0_ff; +extern cpuop_func op_56f9_0_nf; +extern cpuop_func op_56f9_0_ff; +extern cpuop_func op_56fa_0_nf; +extern cpuop_func op_56fa_0_ff; +extern cpuop_func op_56fb_0_nf; +extern cpuop_func op_56fb_0_ff; +extern cpuop_func op_56fc_0_nf; +extern cpuop_func op_56fc_0_ff; +extern cpuop_func op_57c0_0_nf; +extern cpuop_func op_57c0_0_ff; +extern cpuop_func op_57c8_0_nf; +extern cpuop_func op_57c8_0_ff; +extern cpuop_func op_57d0_0_nf; +extern cpuop_func op_57d0_0_ff; +extern cpuop_func op_57d8_0_nf; +extern cpuop_func op_57d8_0_ff; +extern cpuop_func op_57e0_0_nf; +extern cpuop_func op_57e0_0_ff; +extern cpuop_func op_57e8_0_nf; +extern cpuop_func op_57e8_0_ff; +extern cpuop_func op_57f0_0_nf; +extern cpuop_func op_57f0_0_ff; +extern cpuop_func op_57f8_0_nf; +extern cpuop_func op_57f8_0_ff; +extern cpuop_func op_57f9_0_nf; +extern cpuop_func op_57f9_0_ff; +extern cpuop_func op_57fa_0_nf; +extern cpuop_func op_57fa_0_ff; +extern cpuop_func op_57fb_0_nf; +extern cpuop_func op_57fb_0_ff; +extern cpuop_func op_57fc_0_nf; +extern cpuop_func op_57fc_0_ff; +extern cpuop_func op_58c0_0_nf; +extern cpuop_func op_58c0_0_ff; +extern cpuop_func op_58c8_0_nf; +extern cpuop_func op_58c8_0_ff; +extern cpuop_func op_58d0_0_nf; +extern cpuop_func op_58d0_0_ff; +extern cpuop_func op_58d8_0_nf; +extern cpuop_func op_58d8_0_ff; +extern cpuop_func op_58e0_0_nf; +extern cpuop_func op_58e0_0_ff; +extern cpuop_func op_58e8_0_nf; +extern cpuop_func op_58e8_0_ff; +extern cpuop_func op_58f0_0_nf; +extern cpuop_func op_58f0_0_ff; +extern cpuop_func op_58f8_0_nf; +extern cpuop_func op_58f8_0_ff; +extern cpuop_func op_58f9_0_nf; +extern cpuop_func op_58f9_0_ff; +extern cpuop_func op_58fa_0_nf; +extern cpuop_func op_58fa_0_ff; +extern cpuop_func op_58fb_0_nf; +extern cpuop_func op_58fb_0_ff; +extern cpuop_func op_58fc_0_nf; +extern cpuop_func op_58fc_0_ff; +extern cpuop_func op_59c0_0_nf; +extern cpuop_func op_59c0_0_ff; +extern cpuop_func op_59c8_0_nf; +extern cpuop_func op_59c8_0_ff; +extern cpuop_func op_59d0_0_nf; +extern cpuop_func op_59d0_0_ff; +extern cpuop_func op_59d8_0_nf; +extern cpuop_func op_59d8_0_ff; +extern cpuop_func op_59e0_0_nf; +extern cpuop_func op_59e0_0_ff; +extern cpuop_func op_59e8_0_nf; +extern cpuop_func op_59e8_0_ff; +extern cpuop_func op_59f0_0_nf; +extern cpuop_func op_59f0_0_ff; +extern cpuop_func op_59f8_0_nf; +extern cpuop_func op_59f8_0_ff; +extern cpuop_func op_59f9_0_nf; +extern cpuop_func op_59f9_0_ff; +extern cpuop_func op_59fa_0_nf; +extern cpuop_func op_59fa_0_ff; +extern cpuop_func op_59fb_0_nf; +extern cpuop_func op_59fb_0_ff; +extern cpuop_func op_59fc_0_nf; +extern cpuop_func op_59fc_0_ff; +extern cpuop_func op_5ac0_0_nf; +extern cpuop_func op_5ac0_0_ff; +extern cpuop_func op_5ac8_0_nf; +extern cpuop_func op_5ac8_0_ff; +extern cpuop_func op_5ad0_0_nf; +extern cpuop_func op_5ad0_0_ff; +extern cpuop_func op_5ad8_0_nf; +extern cpuop_func op_5ad8_0_ff; +extern cpuop_func op_5ae0_0_nf; +extern cpuop_func op_5ae0_0_ff; +extern cpuop_func op_5ae8_0_nf; +extern cpuop_func op_5ae8_0_ff; +extern cpuop_func op_5af0_0_nf; +extern cpuop_func op_5af0_0_ff; +extern cpuop_func op_5af8_0_nf; +extern cpuop_func op_5af8_0_ff; +extern cpuop_func op_5af9_0_nf; +extern cpuop_func op_5af9_0_ff; +extern cpuop_func op_5afa_0_nf; +extern cpuop_func op_5afa_0_ff; +extern cpuop_func op_5afb_0_nf; +extern cpuop_func op_5afb_0_ff; +extern cpuop_func op_5afc_0_nf; +extern cpuop_func op_5afc_0_ff; +extern cpuop_func op_5bc0_0_nf; +extern cpuop_func op_5bc0_0_ff; +extern cpuop_func op_5bc8_0_nf; +extern cpuop_func op_5bc8_0_ff; +extern cpuop_func op_5bd0_0_nf; +extern cpuop_func op_5bd0_0_ff; +extern cpuop_func op_5bd8_0_nf; +extern cpuop_func op_5bd8_0_ff; +extern cpuop_func op_5be0_0_nf; +extern cpuop_func op_5be0_0_ff; +extern cpuop_func op_5be8_0_nf; +extern cpuop_func op_5be8_0_ff; +extern cpuop_func op_5bf0_0_nf; +extern cpuop_func op_5bf0_0_ff; +extern cpuop_func op_5bf8_0_nf; +extern cpuop_func op_5bf8_0_ff; +extern cpuop_func op_5bf9_0_nf; +extern cpuop_func op_5bf9_0_ff; +extern cpuop_func op_5bfa_0_nf; +extern cpuop_func op_5bfa_0_ff; +extern cpuop_func op_5bfb_0_nf; +extern cpuop_func op_5bfb_0_ff; +extern cpuop_func op_5bfc_0_nf; +extern cpuop_func op_5bfc_0_ff; +extern cpuop_func op_5cc0_0_nf; +extern cpuop_func op_5cc0_0_ff; +extern cpuop_func op_5cc8_0_nf; +extern cpuop_func op_5cc8_0_ff; +extern cpuop_func op_5cd0_0_nf; +extern cpuop_func op_5cd0_0_ff; +extern cpuop_func op_5cd8_0_nf; +extern cpuop_func op_5cd8_0_ff; +extern cpuop_func op_5ce0_0_nf; +extern cpuop_func op_5ce0_0_ff; +extern cpuop_func op_5ce8_0_nf; +extern cpuop_func op_5ce8_0_ff; +extern cpuop_func op_5cf0_0_nf; +extern cpuop_func op_5cf0_0_ff; +extern cpuop_func op_5cf8_0_nf; +extern cpuop_func op_5cf8_0_ff; +extern cpuop_func op_5cf9_0_nf; +extern cpuop_func op_5cf9_0_ff; +extern cpuop_func op_5cfa_0_nf; +extern cpuop_func op_5cfa_0_ff; +extern cpuop_func op_5cfb_0_nf; +extern cpuop_func op_5cfb_0_ff; +extern cpuop_func op_5cfc_0_nf; +extern cpuop_func op_5cfc_0_ff; +extern cpuop_func op_5dc0_0_nf; +extern cpuop_func op_5dc0_0_ff; +extern cpuop_func op_5dc8_0_nf; +extern cpuop_func op_5dc8_0_ff; +extern cpuop_func op_5dd0_0_nf; +extern cpuop_func op_5dd0_0_ff; +extern cpuop_func op_5dd8_0_nf; +extern cpuop_func op_5dd8_0_ff; +extern cpuop_func op_5de0_0_nf; +extern cpuop_func op_5de0_0_ff; +extern cpuop_func op_5de8_0_nf; +extern cpuop_func op_5de8_0_ff; +extern cpuop_func op_5df0_0_nf; +extern cpuop_func op_5df0_0_ff; +extern cpuop_func op_5df8_0_nf; +extern cpuop_func op_5df8_0_ff; +extern cpuop_func op_5df9_0_nf; +extern cpuop_func op_5df9_0_ff; +extern cpuop_func op_5dfa_0_nf; +extern cpuop_func op_5dfa_0_ff; +extern cpuop_func op_5dfb_0_nf; +extern cpuop_func op_5dfb_0_ff; +extern cpuop_func op_5dfc_0_nf; +extern cpuop_func op_5dfc_0_ff; +extern cpuop_func op_5ec0_0_nf; +extern cpuop_func op_5ec0_0_ff; +extern cpuop_func op_5ec8_0_nf; +extern cpuop_func op_5ec8_0_ff; +extern cpuop_func op_5ed0_0_nf; +extern cpuop_func op_5ed0_0_ff; +extern cpuop_func op_5ed8_0_nf; +extern cpuop_func op_5ed8_0_ff; +extern cpuop_func op_5ee0_0_nf; +extern cpuop_func op_5ee0_0_ff; +extern cpuop_func op_5ee8_0_nf; +extern cpuop_func op_5ee8_0_ff; +extern cpuop_func op_5ef0_0_nf; +extern cpuop_func op_5ef0_0_ff; +extern cpuop_func op_5ef8_0_nf; +extern cpuop_func op_5ef8_0_ff; +extern cpuop_func op_5ef9_0_nf; +extern cpuop_func op_5ef9_0_ff; +extern cpuop_func op_5efa_0_nf; +extern cpuop_func op_5efa_0_ff; +extern cpuop_func op_5efb_0_nf; +extern cpuop_func op_5efb_0_ff; +extern cpuop_func op_5efc_0_nf; +extern cpuop_func op_5efc_0_ff; +extern cpuop_func op_5fc0_0_nf; +extern cpuop_func op_5fc0_0_ff; +extern cpuop_func op_5fc8_0_nf; +extern cpuop_func op_5fc8_0_ff; +extern cpuop_func op_5fd0_0_nf; +extern cpuop_func op_5fd0_0_ff; +extern cpuop_func op_5fd8_0_nf; +extern cpuop_func op_5fd8_0_ff; +extern cpuop_func op_5fe0_0_nf; +extern cpuop_func op_5fe0_0_ff; +extern cpuop_func op_5fe8_0_nf; +extern cpuop_func op_5fe8_0_ff; +extern cpuop_func op_5ff0_0_nf; +extern cpuop_func op_5ff0_0_ff; +extern cpuop_func op_5ff8_0_nf; +extern cpuop_func op_5ff8_0_ff; +extern cpuop_func op_5ff9_0_nf; +extern cpuop_func op_5ff9_0_ff; +extern cpuop_func op_5ffa_0_nf; +extern cpuop_func op_5ffa_0_ff; +extern cpuop_func op_5ffb_0_nf; +extern cpuop_func op_5ffb_0_ff; +extern cpuop_func op_5ffc_0_nf; +extern cpuop_func op_5ffc_0_ff; +extern cpuop_func op_6000_0_nf; +extern cpuop_func op_6000_0_ff; +extern cpuop_func op_6001_0_nf; +extern cpuop_func op_6001_0_ff; +extern cpuop_func op_60ff_0_nf; +extern cpuop_func op_60ff_0_ff; +extern cpuop_func op_6100_0_nf; +extern cpuop_func op_6100_0_ff; +extern cpuop_func op_6101_0_nf; +extern cpuop_func op_6101_0_ff; +extern cpuop_func op_61ff_0_nf; +extern cpuop_func op_61ff_0_ff; +extern cpuop_func op_6200_0_nf; +extern cpuop_func op_6200_0_ff; +extern cpuop_func op_6201_0_nf; +extern cpuop_func op_6201_0_ff; +extern cpuop_func op_62ff_0_nf; +extern cpuop_func op_62ff_0_ff; +extern cpuop_func op_6300_0_nf; +extern cpuop_func op_6300_0_ff; +extern cpuop_func op_6301_0_nf; +extern cpuop_func op_6301_0_ff; +extern cpuop_func op_63ff_0_nf; +extern cpuop_func op_63ff_0_ff; +extern cpuop_func op_6400_0_nf; +extern cpuop_func op_6400_0_ff; +extern cpuop_func op_6401_0_nf; +extern cpuop_func op_6401_0_ff; +extern cpuop_func op_64ff_0_nf; +extern cpuop_func op_64ff_0_ff; +extern cpuop_func op_6500_0_nf; +extern cpuop_func op_6500_0_ff; +extern cpuop_func op_6501_0_nf; +extern cpuop_func op_6501_0_ff; +extern cpuop_func op_65ff_0_nf; +extern cpuop_func op_65ff_0_ff; +extern cpuop_func op_6600_0_nf; +extern cpuop_func op_6600_0_ff; +extern cpuop_func op_6601_0_nf; +extern cpuop_func op_6601_0_ff; +extern cpuop_func op_66ff_0_nf; +extern cpuop_func op_66ff_0_ff; +extern cpuop_func op_6700_0_nf; +extern cpuop_func op_6700_0_ff; +extern cpuop_func op_6701_0_nf; +extern cpuop_func op_6701_0_ff; +extern cpuop_func op_67ff_0_nf; +extern cpuop_func op_67ff_0_ff; +extern cpuop_func op_6800_0_nf; +extern cpuop_func op_6800_0_ff; +extern cpuop_func op_6801_0_nf; +extern cpuop_func op_6801_0_ff; +extern cpuop_func op_68ff_0_nf; +extern cpuop_func op_68ff_0_ff; +extern cpuop_func op_6900_0_nf; +extern cpuop_func op_6900_0_ff; +extern cpuop_func op_6901_0_nf; +extern cpuop_func op_6901_0_ff; +extern cpuop_func op_69ff_0_nf; +extern cpuop_func op_69ff_0_ff; +extern cpuop_func op_6a00_0_nf; +extern cpuop_func op_6a00_0_ff; +extern cpuop_func op_6a01_0_nf; +extern cpuop_func op_6a01_0_ff; +extern cpuop_func op_6aff_0_nf; +extern cpuop_func op_6aff_0_ff; +extern cpuop_func op_6b00_0_nf; +extern cpuop_func op_6b00_0_ff; +extern cpuop_func op_6b01_0_nf; +extern cpuop_func op_6b01_0_ff; +extern cpuop_func op_6bff_0_nf; +extern cpuop_func op_6bff_0_ff; +extern cpuop_func op_6c00_0_nf; +extern cpuop_func op_6c00_0_ff; +extern cpuop_func op_6c01_0_nf; +extern cpuop_func op_6c01_0_ff; +extern cpuop_func op_6cff_0_nf; +extern cpuop_func op_6cff_0_ff; +extern cpuop_func op_6d00_0_nf; +extern cpuop_func op_6d00_0_ff; +extern cpuop_func op_6d01_0_nf; +extern cpuop_func op_6d01_0_ff; +extern cpuop_func op_6dff_0_nf; +extern cpuop_func op_6dff_0_ff; +extern cpuop_func op_6e00_0_nf; +extern cpuop_func op_6e00_0_ff; +extern cpuop_func op_6e01_0_nf; +extern cpuop_func op_6e01_0_ff; +extern cpuop_func op_6eff_0_nf; +extern cpuop_func op_6eff_0_ff; +extern cpuop_func op_6f00_0_nf; +extern cpuop_func op_6f00_0_ff; +extern cpuop_func op_6f01_0_nf; +extern cpuop_func op_6f01_0_ff; +extern cpuop_func op_6fff_0_nf; +extern cpuop_func op_6fff_0_ff; +extern cpuop_func op_7000_0_nf; +extern cpuop_func op_7000_0_ff; +extern cpuop_func op_7100_0_nf; +extern cpuop_func op_7100_0_ff; +extern cpuop_func op_7101_0_nf; +extern cpuop_func op_7101_0_ff; +extern cpuop_func op_8000_0_nf; +extern cpuop_func op_8000_0_ff; +extern cpuop_func op_8010_0_nf; +extern cpuop_func op_8010_0_ff; +extern cpuop_func op_8018_0_nf; +extern cpuop_func op_8018_0_ff; +extern cpuop_func op_8020_0_nf; +extern cpuop_func op_8020_0_ff; +extern cpuop_func op_8028_0_nf; +extern cpuop_func op_8028_0_ff; +extern cpuop_func op_8030_0_nf; +extern cpuop_func op_8030_0_ff; +extern cpuop_func op_8038_0_nf; +extern cpuop_func op_8038_0_ff; +extern cpuop_func op_8039_0_nf; +extern cpuop_func op_8039_0_ff; +extern cpuop_func op_803a_0_nf; +extern cpuop_func op_803a_0_ff; +extern cpuop_func op_803b_0_nf; +extern cpuop_func op_803b_0_ff; +extern cpuop_func op_803c_0_nf; +extern cpuop_func op_803c_0_ff; +extern cpuop_func op_8040_0_nf; +extern cpuop_func op_8040_0_ff; +extern cpuop_func op_8050_0_nf; +extern cpuop_func op_8050_0_ff; +extern cpuop_func op_8058_0_nf; +extern cpuop_func op_8058_0_ff; +extern cpuop_func op_8060_0_nf; +extern cpuop_func op_8060_0_ff; +extern cpuop_func op_8068_0_nf; +extern cpuop_func op_8068_0_ff; +extern cpuop_func op_8070_0_nf; +extern cpuop_func op_8070_0_ff; +extern cpuop_func op_8078_0_nf; +extern cpuop_func op_8078_0_ff; +extern cpuop_func op_8079_0_nf; +extern cpuop_func op_8079_0_ff; +extern cpuop_func op_807a_0_nf; +extern cpuop_func op_807a_0_ff; +extern cpuop_func op_807b_0_nf; +extern cpuop_func op_807b_0_ff; +extern cpuop_func op_807c_0_nf; +extern cpuop_func op_807c_0_ff; +extern cpuop_func op_8080_0_nf; +extern cpuop_func op_8080_0_ff; +extern cpuop_func op_8090_0_nf; +extern cpuop_func op_8090_0_ff; +extern cpuop_func op_8098_0_nf; +extern cpuop_func op_8098_0_ff; +extern cpuop_func op_80a0_0_nf; +extern cpuop_func op_80a0_0_ff; +extern cpuop_func op_80a8_0_nf; +extern cpuop_func op_80a8_0_ff; +extern cpuop_func op_80b0_0_nf; +extern cpuop_func op_80b0_0_ff; +extern cpuop_func op_80b8_0_nf; +extern cpuop_func op_80b8_0_ff; +extern cpuop_func op_80b9_0_nf; +extern cpuop_func op_80b9_0_ff; +extern cpuop_func op_80ba_0_nf; +extern cpuop_func op_80ba_0_ff; +extern cpuop_func op_80bb_0_nf; +extern cpuop_func op_80bb_0_ff; +extern cpuop_func op_80bc_0_nf; +extern cpuop_func op_80bc_0_ff; +extern cpuop_func op_80c0_0_nf; +extern cpuop_func op_80c0_0_ff; +extern cpuop_func op_80d0_0_nf; +extern cpuop_func op_80d0_0_ff; +extern cpuop_func op_80d8_0_nf; +extern cpuop_func op_80d8_0_ff; +extern cpuop_func op_80e0_0_nf; +extern cpuop_func op_80e0_0_ff; +extern cpuop_func op_80e8_0_nf; +extern cpuop_func op_80e8_0_ff; +extern cpuop_func op_80f0_0_nf; +extern cpuop_func op_80f0_0_ff; +extern cpuop_func op_80f8_0_nf; +extern cpuop_func op_80f8_0_ff; +extern cpuop_func op_80f9_0_nf; +extern cpuop_func op_80f9_0_ff; +extern cpuop_func op_80fa_0_nf; +extern cpuop_func op_80fa_0_ff; +extern cpuop_func op_80fb_0_nf; +extern cpuop_func op_80fb_0_ff; +extern cpuop_func op_80fc_0_nf; +extern cpuop_func op_80fc_0_ff; +extern cpuop_func op_8100_0_nf; +extern cpuop_func op_8100_0_ff; +extern cpuop_func op_8108_0_nf; +extern cpuop_func op_8108_0_ff; +extern cpuop_func op_8110_0_nf; +extern cpuop_func op_8110_0_ff; +extern cpuop_func op_8118_0_nf; +extern cpuop_func op_8118_0_ff; +extern cpuop_func op_8120_0_nf; +extern cpuop_func op_8120_0_ff; +extern cpuop_func op_8128_0_nf; +extern cpuop_func op_8128_0_ff; +extern cpuop_func op_8130_0_nf; +extern cpuop_func op_8130_0_ff; +extern cpuop_func op_8138_0_nf; +extern cpuop_func op_8138_0_ff; +extern cpuop_func op_8139_0_nf; +extern cpuop_func op_8139_0_ff; +extern cpuop_func op_8140_0_nf; +extern cpuop_func op_8140_0_ff; +extern cpuop_func op_8148_0_nf; +extern cpuop_func op_8148_0_ff; +extern cpuop_func op_8150_0_nf; +extern cpuop_func op_8150_0_ff; +extern cpuop_func op_8158_0_nf; +extern cpuop_func op_8158_0_ff; +extern cpuop_func op_8160_0_nf; +extern cpuop_func op_8160_0_ff; +extern cpuop_func op_8168_0_nf; +extern cpuop_func op_8168_0_ff; +extern cpuop_func op_8170_0_nf; +extern cpuop_func op_8170_0_ff; +extern cpuop_func op_8178_0_nf; +extern cpuop_func op_8178_0_ff; +extern cpuop_func op_8179_0_nf; +extern cpuop_func op_8179_0_ff; +extern cpuop_func op_8180_0_nf; +extern cpuop_func op_8180_0_ff; +extern cpuop_func op_8188_0_nf; +extern cpuop_func op_8188_0_ff; +extern cpuop_func op_8190_0_nf; +extern cpuop_func op_8190_0_ff; +extern cpuop_func op_8198_0_nf; +extern cpuop_func op_8198_0_ff; +extern cpuop_func op_81a0_0_nf; +extern cpuop_func op_81a0_0_ff; +extern cpuop_func op_81a8_0_nf; +extern cpuop_func op_81a8_0_ff; +extern cpuop_func op_81b0_0_nf; +extern cpuop_func op_81b0_0_ff; +extern cpuop_func op_81b8_0_nf; +extern cpuop_func op_81b8_0_ff; +extern cpuop_func op_81b9_0_nf; +extern cpuop_func op_81b9_0_ff; +extern cpuop_func op_81c0_0_nf; +extern cpuop_func op_81c0_0_ff; +extern cpuop_func op_81d0_0_nf; +extern cpuop_func op_81d0_0_ff; +extern cpuop_func op_81d8_0_nf; +extern cpuop_func op_81d8_0_ff; +extern cpuop_func op_81e0_0_nf; +extern cpuop_func op_81e0_0_ff; +extern cpuop_func op_81e8_0_nf; +extern cpuop_func op_81e8_0_ff; +extern cpuop_func op_81f0_0_nf; +extern cpuop_func op_81f0_0_ff; +extern cpuop_func op_81f8_0_nf; +extern cpuop_func op_81f8_0_ff; +extern cpuop_func op_81f9_0_nf; +extern cpuop_func op_81f9_0_ff; +extern cpuop_func op_81fa_0_nf; +extern cpuop_func op_81fa_0_ff; +extern cpuop_func op_81fb_0_nf; +extern cpuop_func op_81fb_0_ff; +extern cpuop_func op_81fc_0_nf; +extern cpuop_func op_81fc_0_ff; +extern cpuop_func op_9000_0_nf; +extern cpuop_func op_9000_0_ff; +extern cpuop_func op_9010_0_nf; +extern cpuop_func op_9010_0_ff; +extern cpuop_func op_9018_0_nf; +extern cpuop_func op_9018_0_ff; +extern cpuop_func op_9020_0_nf; +extern cpuop_func op_9020_0_ff; +extern cpuop_func op_9028_0_nf; +extern cpuop_func op_9028_0_ff; +extern cpuop_func op_9030_0_nf; +extern cpuop_func op_9030_0_ff; +extern cpuop_func op_9038_0_nf; +extern cpuop_func op_9038_0_ff; +extern cpuop_func op_9039_0_nf; +extern cpuop_func op_9039_0_ff; +extern cpuop_func op_903a_0_nf; +extern cpuop_func op_903a_0_ff; +extern cpuop_func op_903b_0_nf; +extern cpuop_func op_903b_0_ff; +extern cpuop_func op_903c_0_nf; +extern cpuop_func op_903c_0_ff; +extern cpuop_func op_9040_0_nf; +extern cpuop_func op_9040_0_ff; +extern cpuop_func op_9048_0_nf; +extern cpuop_func op_9048_0_ff; +extern cpuop_func op_9050_0_nf; +extern cpuop_func op_9050_0_ff; +extern cpuop_func op_9058_0_nf; +extern cpuop_func op_9058_0_ff; +extern cpuop_func op_9060_0_nf; +extern cpuop_func op_9060_0_ff; +extern cpuop_func op_9068_0_nf; +extern cpuop_func op_9068_0_ff; +extern cpuop_func op_9070_0_nf; +extern cpuop_func op_9070_0_ff; +extern cpuop_func op_9078_0_nf; +extern cpuop_func op_9078_0_ff; +extern cpuop_func op_9079_0_nf; +extern cpuop_func op_9079_0_ff; +extern cpuop_func op_907a_0_nf; +extern cpuop_func op_907a_0_ff; +extern cpuop_func op_907b_0_nf; +extern cpuop_func op_907b_0_ff; +extern cpuop_func op_907c_0_nf; +extern cpuop_func op_907c_0_ff; +extern cpuop_func op_9080_0_nf; +extern cpuop_func op_9080_0_ff; +extern cpuop_func op_9088_0_nf; +extern cpuop_func op_9088_0_ff; +extern cpuop_func op_9090_0_nf; +extern cpuop_func op_9090_0_ff; +extern cpuop_func op_9098_0_nf; +extern cpuop_func op_9098_0_ff; +extern cpuop_func op_90a0_0_nf; +extern cpuop_func op_90a0_0_ff; +extern cpuop_func op_90a8_0_nf; +extern cpuop_func op_90a8_0_ff; +extern cpuop_func op_90b0_0_nf; +extern cpuop_func op_90b0_0_ff; +extern cpuop_func op_90b8_0_nf; +extern cpuop_func op_90b8_0_ff; +extern cpuop_func op_90b9_0_nf; +extern cpuop_func op_90b9_0_ff; +extern cpuop_func op_90ba_0_nf; +extern cpuop_func op_90ba_0_ff; +extern cpuop_func op_90bb_0_nf; +extern cpuop_func op_90bb_0_ff; +extern cpuop_func op_90bc_0_nf; +extern cpuop_func op_90bc_0_ff; +extern cpuop_func op_90c0_0_nf; +extern cpuop_func op_90c0_0_ff; +extern cpuop_func op_90c8_0_nf; +extern cpuop_func op_90c8_0_ff; +extern cpuop_func op_90d0_0_nf; +extern cpuop_func op_90d0_0_ff; +extern cpuop_func op_90d8_0_nf; +extern cpuop_func op_90d8_0_ff; +extern cpuop_func op_90e0_0_nf; +extern cpuop_func op_90e0_0_ff; +extern cpuop_func op_90e8_0_nf; +extern cpuop_func op_90e8_0_ff; +extern cpuop_func op_90f0_0_nf; +extern cpuop_func op_90f0_0_ff; +extern cpuop_func op_90f8_0_nf; +extern cpuop_func op_90f8_0_ff; +extern cpuop_func op_90f9_0_nf; +extern cpuop_func op_90f9_0_ff; +extern cpuop_func op_90fa_0_nf; +extern cpuop_func op_90fa_0_ff; +extern cpuop_func op_90fb_0_nf; +extern cpuop_func op_90fb_0_ff; +extern cpuop_func op_90fc_0_nf; +extern cpuop_func op_90fc_0_ff; +extern cpuop_func op_9100_0_nf; +extern cpuop_func op_9100_0_ff; +extern cpuop_func op_9108_0_nf; +extern cpuop_func op_9108_0_ff; +extern cpuop_func op_9110_0_nf; +extern cpuop_func op_9110_0_ff; +extern cpuop_func op_9118_0_nf; +extern cpuop_func op_9118_0_ff; +extern cpuop_func op_9120_0_nf; +extern cpuop_func op_9120_0_ff; +extern cpuop_func op_9128_0_nf; +extern cpuop_func op_9128_0_ff; +extern cpuop_func op_9130_0_nf; +extern cpuop_func op_9130_0_ff; +extern cpuop_func op_9138_0_nf; +extern cpuop_func op_9138_0_ff; +extern cpuop_func op_9139_0_nf; +extern cpuop_func op_9139_0_ff; +extern cpuop_func op_9140_0_nf; +extern cpuop_func op_9140_0_ff; +extern cpuop_func op_9148_0_nf; +extern cpuop_func op_9148_0_ff; +extern cpuop_func op_9150_0_nf; +extern cpuop_func op_9150_0_ff; +extern cpuop_func op_9158_0_nf; +extern cpuop_func op_9158_0_ff; +extern cpuop_func op_9160_0_nf; +extern cpuop_func op_9160_0_ff; +extern cpuop_func op_9168_0_nf; +extern cpuop_func op_9168_0_ff; +extern cpuop_func op_9170_0_nf; +extern cpuop_func op_9170_0_ff; +extern cpuop_func op_9178_0_nf; +extern cpuop_func op_9178_0_ff; +extern cpuop_func op_9179_0_nf; +extern cpuop_func op_9179_0_ff; +extern cpuop_func op_9180_0_nf; +extern cpuop_func op_9180_0_ff; +extern cpuop_func op_9188_0_nf; +extern cpuop_func op_9188_0_ff; +extern cpuop_func op_9190_0_nf; +extern cpuop_func op_9190_0_ff; +extern cpuop_func op_9198_0_nf; +extern cpuop_func op_9198_0_ff; +extern cpuop_func op_91a0_0_nf; +extern cpuop_func op_91a0_0_ff; +extern cpuop_func op_91a8_0_nf; +extern cpuop_func op_91a8_0_ff; +extern cpuop_func op_91b0_0_nf; +extern cpuop_func op_91b0_0_ff; +extern cpuop_func op_91b8_0_nf; +extern cpuop_func op_91b8_0_ff; +extern cpuop_func op_91b9_0_nf; +extern cpuop_func op_91b9_0_ff; +extern cpuop_func op_91c0_0_nf; +extern cpuop_func op_91c0_0_ff; +extern cpuop_func op_91c8_0_nf; +extern cpuop_func op_91c8_0_ff; +extern cpuop_func op_91d0_0_nf; +extern cpuop_func op_91d0_0_ff; +extern cpuop_func op_91d8_0_nf; +extern cpuop_func op_91d8_0_ff; +extern cpuop_func op_91e0_0_nf; +extern cpuop_func op_91e0_0_ff; +extern cpuop_func op_91e8_0_nf; +extern cpuop_func op_91e8_0_ff; +extern cpuop_func op_91f0_0_nf; +extern cpuop_func op_91f0_0_ff; +extern cpuop_func op_91f8_0_nf; +extern cpuop_func op_91f8_0_ff; +extern cpuop_func op_91f9_0_nf; +extern cpuop_func op_91f9_0_ff; +extern cpuop_func op_91fa_0_nf; +extern cpuop_func op_91fa_0_ff; +extern cpuop_func op_91fb_0_nf; +extern cpuop_func op_91fb_0_ff; +extern cpuop_func op_91fc_0_nf; +extern cpuop_func op_91fc_0_ff; +extern cpuop_func op_b000_0_nf; +extern cpuop_func op_b000_0_ff; +extern cpuop_func op_b010_0_nf; +extern cpuop_func op_b010_0_ff; +extern cpuop_func op_b018_0_nf; +extern cpuop_func op_b018_0_ff; +extern cpuop_func op_b020_0_nf; +extern cpuop_func op_b020_0_ff; +extern cpuop_func op_b028_0_nf; +extern cpuop_func op_b028_0_ff; +extern cpuop_func op_b030_0_nf; +extern cpuop_func op_b030_0_ff; +extern cpuop_func op_b038_0_nf; +extern cpuop_func op_b038_0_ff; +extern cpuop_func op_b039_0_nf; +extern cpuop_func op_b039_0_ff; +extern cpuop_func op_b03a_0_nf; +extern cpuop_func op_b03a_0_ff; +extern cpuop_func op_b03b_0_nf; +extern cpuop_func op_b03b_0_ff; +extern cpuop_func op_b03c_0_nf; +extern cpuop_func op_b03c_0_ff; +extern cpuop_func op_b040_0_nf; +extern cpuop_func op_b040_0_ff; +extern cpuop_func op_b048_0_nf; +extern cpuop_func op_b048_0_ff; +extern cpuop_func op_b050_0_nf; +extern cpuop_func op_b050_0_ff; +extern cpuop_func op_b058_0_nf; +extern cpuop_func op_b058_0_ff; +extern cpuop_func op_b060_0_nf; +extern cpuop_func op_b060_0_ff; +extern cpuop_func op_b068_0_nf; +extern cpuop_func op_b068_0_ff; +extern cpuop_func op_b070_0_nf; +extern cpuop_func op_b070_0_ff; +extern cpuop_func op_b078_0_nf; +extern cpuop_func op_b078_0_ff; +extern cpuop_func op_b079_0_nf; +extern cpuop_func op_b079_0_ff; +extern cpuop_func op_b07a_0_nf; +extern cpuop_func op_b07a_0_ff; +extern cpuop_func op_b07b_0_nf; +extern cpuop_func op_b07b_0_ff; +extern cpuop_func op_b07c_0_nf; +extern cpuop_func op_b07c_0_ff; +extern cpuop_func op_b080_0_nf; +extern cpuop_func op_b080_0_ff; +extern cpuop_func op_b088_0_nf; +extern cpuop_func op_b088_0_ff; +extern cpuop_func op_b090_0_nf; +extern cpuop_func op_b090_0_ff; +extern cpuop_func op_b098_0_nf; +extern cpuop_func op_b098_0_ff; +extern cpuop_func op_b0a0_0_nf; +extern cpuop_func op_b0a0_0_ff; +extern cpuop_func op_b0a8_0_nf; +extern cpuop_func op_b0a8_0_ff; +extern cpuop_func op_b0b0_0_nf; +extern cpuop_func op_b0b0_0_ff; +extern cpuop_func op_b0b8_0_nf; +extern cpuop_func op_b0b8_0_ff; +extern cpuop_func op_b0b9_0_nf; +extern cpuop_func op_b0b9_0_ff; +extern cpuop_func op_b0ba_0_nf; +extern cpuop_func op_b0ba_0_ff; +extern cpuop_func op_b0bb_0_nf; +extern cpuop_func op_b0bb_0_ff; +extern cpuop_func op_b0bc_0_nf; +extern cpuop_func op_b0bc_0_ff; +extern cpuop_func op_b0c0_0_nf; +extern cpuop_func op_b0c0_0_ff; +extern cpuop_func op_b0c8_0_nf; +extern cpuop_func op_b0c8_0_ff; +extern cpuop_func op_b0d0_0_nf; +extern cpuop_func op_b0d0_0_ff; +extern cpuop_func op_b0d8_0_nf; +extern cpuop_func op_b0d8_0_ff; +extern cpuop_func op_b0e0_0_nf; +extern cpuop_func op_b0e0_0_ff; +extern cpuop_func op_b0e8_0_nf; +extern cpuop_func op_b0e8_0_ff; +extern cpuop_func op_b0f0_0_nf; +extern cpuop_func op_b0f0_0_ff; +extern cpuop_func op_b0f8_0_nf; +extern cpuop_func op_b0f8_0_ff; +extern cpuop_func op_b0f9_0_nf; +extern cpuop_func op_b0f9_0_ff; +extern cpuop_func op_b0fa_0_nf; +extern cpuop_func op_b0fa_0_ff; +extern cpuop_func op_b0fb_0_nf; +extern cpuop_func op_b0fb_0_ff; +extern cpuop_func op_b0fc_0_nf; +extern cpuop_func op_b0fc_0_ff; +extern cpuop_func op_b100_0_nf; +extern cpuop_func op_b100_0_ff; +extern cpuop_func op_b108_0_nf; +extern cpuop_func op_b108_0_ff; +extern cpuop_func op_b110_0_nf; +extern cpuop_func op_b110_0_ff; +extern cpuop_func op_b118_0_nf; +extern cpuop_func op_b118_0_ff; +extern cpuop_func op_b120_0_nf; +extern cpuop_func op_b120_0_ff; +extern cpuop_func op_b128_0_nf; +extern cpuop_func op_b128_0_ff; +extern cpuop_func op_b130_0_nf; +extern cpuop_func op_b130_0_ff; +extern cpuop_func op_b138_0_nf; +extern cpuop_func op_b138_0_ff; +extern cpuop_func op_b139_0_nf; +extern cpuop_func op_b139_0_ff; +extern cpuop_func op_b140_0_nf; +extern cpuop_func op_b140_0_ff; +extern cpuop_func op_b148_0_nf; +extern cpuop_func op_b148_0_ff; +extern cpuop_func op_b150_0_nf; +extern cpuop_func op_b150_0_ff; +extern cpuop_func op_b158_0_nf; +extern cpuop_func op_b158_0_ff; +extern cpuop_func op_b160_0_nf; +extern cpuop_func op_b160_0_ff; +extern cpuop_func op_b168_0_nf; +extern cpuop_func op_b168_0_ff; +extern cpuop_func op_b170_0_nf; +extern cpuop_func op_b170_0_ff; +extern cpuop_func op_b178_0_nf; +extern cpuop_func op_b178_0_ff; +extern cpuop_func op_b179_0_nf; +extern cpuop_func op_b179_0_ff; +extern cpuop_func op_b180_0_nf; +extern cpuop_func op_b180_0_ff; +extern cpuop_func op_b188_0_nf; +extern cpuop_func op_b188_0_ff; +extern cpuop_func op_b190_0_nf; +extern cpuop_func op_b190_0_ff; +extern cpuop_func op_b198_0_nf; +extern cpuop_func op_b198_0_ff; +extern cpuop_func op_b1a0_0_nf; +extern cpuop_func op_b1a0_0_ff; +extern cpuop_func op_b1a8_0_nf; +extern cpuop_func op_b1a8_0_ff; +extern cpuop_func op_b1b0_0_nf; +extern cpuop_func op_b1b0_0_ff; +extern cpuop_func op_b1b8_0_nf; +extern cpuop_func op_b1b8_0_ff; +extern cpuop_func op_b1b9_0_nf; +extern cpuop_func op_b1b9_0_ff; +extern cpuop_func op_b1c0_0_nf; +extern cpuop_func op_b1c0_0_ff; +extern cpuop_func op_b1c8_0_nf; +extern cpuop_func op_b1c8_0_ff; +extern cpuop_func op_b1d0_0_nf; +extern cpuop_func op_b1d0_0_ff; +extern cpuop_func op_b1d8_0_nf; +extern cpuop_func op_b1d8_0_ff; +extern cpuop_func op_b1e0_0_nf; +extern cpuop_func op_b1e0_0_ff; +extern cpuop_func op_b1e8_0_nf; +extern cpuop_func op_b1e8_0_ff; +extern cpuop_func op_b1f0_0_nf; +extern cpuop_func op_b1f0_0_ff; +extern cpuop_func op_b1f8_0_nf; +extern cpuop_func op_b1f8_0_ff; +extern cpuop_func op_b1f9_0_nf; +extern cpuop_func op_b1f9_0_ff; +extern cpuop_func op_b1fa_0_nf; +extern cpuop_func op_b1fa_0_ff; +extern cpuop_func op_b1fb_0_nf; +extern cpuop_func op_b1fb_0_ff; +extern cpuop_func op_b1fc_0_nf; +extern cpuop_func op_b1fc_0_ff; +extern cpuop_func op_c000_0_nf; +extern cpuop_func op_c000_0_ff; +extern cpuop_func op_c010_0_nf; +extern cpuop_func op_c010_0_ff; +extern cpuop_func op_c018_0_nf; +extern cpuop_func op_c018_0_ff; +extern cpuop_func op_c020_0_nf; +extern cpuop_func op_c020_0_ff; +extern cpuop_func op_c028_0_nf; +extern cpuop_func op_c028_0_ff; +extern cpuop_func op_c030_0_nf; +extern cpuop_func op_c030_0_ff; +extern cpuop_func op_c038_0_nf; +extern cpuop_func op_c038_0_ff; +extern cpuop_func op_c039_0_nf; +extern cpuop_func op_c039_0_ff; +extern cpuop_func op_c03a_0_nf; +extern cpuop_func op_c03a_0_ff; +extern cpuop_func op_c03b_0_nf; +extern cpuop_func op_c03b_0_ff; +extern cpuop_func op_c03c_0_nf; +extern cpuop_func op_c03c_0_ff; +extern cpuop_func op_c040_0_nf; +extern cpuop_func op_c040_0_ff; +extern cpuop_func op_c050_0_nf; +extern cpuop_func op_c050_0_ff; +extern cpuop_func op_c058_0_nf; +extern cpuop_func op_c058_0_ff; +extern cpuop_func op_c060_0_nf; +extern cpuop_func op_c060_0_ff; +extern cpuop_func op_c068_0_nf; +extern cpuop_func op_c068_0_ff; +extern cpuop_func op_c070_0_nf; +extern cpuop_func op_c070_0_ff; +extern cpuop_func op_c078_0_nf; +extern cpuop_func op_c078_0_ff; +extern cpuop_func op_c079_0_nf; +extern cpuop_func op_c079_0_ff; +extern cpuop_func op_c07a_0_nf; +extern cpuop_func op_c07a_0_ff; +extern cpuop_func op_c07b_0_nf; +extern cpuop_func op_c07b_0_ff; +extern cpuop_func op_c07c_0_nf; +extern cpuop_func op_c07c_0_ff; +extern cpuop_func op_c080_0_nf; +extern cpuop_func op_c080_0_ff; +extern cpuop_func op_c090_0_nf; +extern cpuop_func op_c090_0_ff; +extern cpuop_func op_c098_0_nf; +extern cpuop_func op_c098_0_ff; +extern cpuop_func op_c0a0_0_nf; +extern cpuop_func op_c0a0_0_ff; +extern cpuop_func op_c0a8_0_nf; +extern cpuop_func op_c0a8_0_ff; +extern cpuop_func op_c0b0_0_nf; +extern cpuop_func op_c0b0_0_ff; +extern cpuop_func op_c0b8_0_nf; +extern cpuop_func op_c0b8_0_ff; +extern cpuop_func op_c0b9_0_nf; +extern cpuop_func op_c0b9_0_ff; +extern cpuop_func op_c0ba_0_nf; +extern cpuop_func op_c0ba_0_ff; +extern cpuop_func op_c0bb_0_nf; +extern cpuop_func op_c0bb_0_ff; +extern cpuop_func op_c0bc_0_nf; +extern cpuop_func op_c0bc_0_ff; +extern cpuop_func op_c0c0_0_nf; +extern cpuop_func op_c0c0_0_ff; +extern cpuop_func op_c0d0_0_nf; +extern cpuop_func op_c0d0_0_ff; +extern cpuop_func op_c0d8_0_nf; +extern cpuop_func op_c0d8_0_ff; +extern cpuop_func op_c0e0_0_nf; +extern cpuop_func op_c0e0_0_ff; +extern cpuop_func op_c0e8_0_nf; +extern cpuop_func op_c0e8_0_ff; +extern cpuop_func op_c0f0_0_nf; +extern cpuop_func op_c0f0_0_ff; +extern cpuop_func op_c0f8_0_nf; +extern cpuop_func op_c0f8_0_ff; +extern cpuop_func op_c0f9_0_nf; +extern cpuop_func op_c0f9_0_ff; +extern cpuop_func op_c0fa_0_nf; +extern cpuop_func op_c0fa_0_ff; +extern cpuop_func op_c0fb_0_nf; +extern cpuop_func op_c0fb_0_ff; +extern cpuop_func op_c0fc_0_nf; +extern cpuop_func op_c0fc_0_ff; +extern cpuop_func op_c100_0_nf; +extern cpuop_func op_c100_0_ff; +extern cpuop_func op_c108_0_nf; +extern cpuop_func op_c108_0_ff; +extern cpuop_func op_c110_0_nf; +extern cpuop_func op_c110_0_ff; +extern cpuop_func op_c118_0_nf; +extern cpuop_func op_c118_0_ff; +extern cpuop_func op_c120_0_nf; +extern cpuop_func op_c120_0_ff; +extern cpuop_func op_c128_0_nf; +extern cpuop_func op_c128_0_ff; +extern cpuop_func op_c130_0_nf; +extern cpuop_func op_c130_0_ff; +extern cpuop_func op_c138_0_nf; +extern cpuop_func op_c138_0_ff; +extern cpuop_func op_c139_0_nf; +extern cpuop_func op_c139_0_ff; +extern cpuop_func op_c140_0_nf; +extern cpuop_func op_c140_0_ff; +extern cpuop_func op_c148_0_nf; +extern cpuop_func op_c148_0_ff; +extern cpuop_func op_c150_0_nf; +extern cpuop_func op_c150_0_ff; +extern cpuop_func op_c158_0_nf; +extern cpuop_func op_c158_0_ff; +extern cpuop_func op_c160_0_nf; +extern cpuop_func op_c160_0_ff; +extern cpuop_func op_c168_0_nf; +extern cpuop_func op_c168_0_ff; +extern cpuop_func op_c170_0_nf; +extern cpuop_func op_c170_0_ff; +extern cpuop_func op_c178_0_nf; +extern cpuop_func op_c178_0_ff; +extern cpuop_func op_c179_0_nf; +extern cpuop_func op_c179_0_ff; +extern cpuop_func op_c188_0_nf; +extern cpuop_func op_c188_0_ff; +extern cpuop_func op_c190_0_nf; +extern cpuop_func op_c190_0_ff; +extern cpuop_func op_c198_0_nf; +extern cpuop_func op_c198_0_ff; +extern cpuop_func op_c1a0_0_nf; +extern cpuop_func op_c1a0_0_ff; +extern cpuop_func op_c1a8_0_nf; +extern cpuop_func op_c1a8_0_ff; +extern cpuop_func op_c1b0_0_nf; +extern cpuop_func op_c1b0_0_ff; +extern cpuop_func op_c1b8_0_nf; +extern cpuop_func op_c1b8_0_ff; +extern cpuop_func op_c1b9_0_nf; +extern cpuop_func op_c1b9_0_ff; +extern cpuop_func op_c1c0_0_nf; +extern cpuop_func op_c1c0_0_ff; +extern cpuop_func op_c1d0_0_nf; +extern cpuop_func op_c1d0_0_ff; +extern cpuop_func op_c1d8_0_nf; +extern cpuop_func op_c1d8_0_ff; +extern cpuop_func op_c1e0_0_nf; +extern cpuop_func op_c1e0_0_ff; +extern cpuop_func op_c1e8_0_nf; +extern cpuop_func op_c1e8_0_ff; +extern cpuop_func op_c1f0_0_nf; +extern cpuop_func op_c1f0_0_ff; +extern cpuop_func op_c1f8_0_nf; +extern cpuop_func op_c1f8_0_ff; +extern cpuop_func op_c1f9_0_nf; +extern cpuop_func op_c1f9_0_ff; +extern cpuop_func op_c1fa_0_nf; +extern cpuop_func op_c1fa_0_ff; +extern cpuop_func op_c1fb_0_nf; +extern cpuop_func op_c1fb_0_ff; +extern cpuop_func op_c1fc_0_nf; +extern cpuop_func op_c1fc_0_ff; +extern cpuop_func op_d000_0_nf; +extern cpuop_func op_d000_0_ff; +extern cpuop_func op_d010_0_nf; +extern cpuop_func op_d010_0_ff; +extern cpuop_func op_d018_0_nf; +extern cpuop_func op_d018_0_ff; +extern cpuop_func op_d020_0_nf; +extern cpuop_func op_d020_0_ff; +extern cpuop_func op_d028_0_nf; +extern cpuop_func op_d028_0_ff; +extern cpuop_func op_d030_0_nf; +extern cpuop_func op_d030_0_ff; +extern cpuop_func op_d038_0_nf; +extern cpuop_func op_d038_0_ff; +extern cpuop_func op_d039_0_nf; +extern cpuop_func op_d039_0_ff; +extern cpuop_func op_d03a_0_nf; +extern cpuop_func op_d03a_0_ff; +extern cpuop_func op_d03b_0_nf; +extern cpuop_func op_d03b_0_ff; +extern cpuop_func op_d03c_0_nf; +extern cpuop_func op_d03c_0_ff; +extern cpuop_func op_d040_0_nf; +extern cpuop_func op_d040_0_ff; +extern cpuop_func op_d048_0_nf; +extern cpuop_func op_d048_0_ff; +extern cpuop_func op_d050_0_nf; +extern cpuop_func op_d050_0_ff; +extern cpuop_func op_d058_0_nf; +extern cpuop_func op_d058_0_ff; +extern cpuop_func op_d060_0_nf; +extern cpuop_func op_d060_0_ff; +extern cpuop_func op_d068_0_nf; +extern cpuop_func op_d068_0_ff; +extern cpuop_func op_d070_0_nf; +extern cpuop_func op_d070_0_ff; +extern cpuop_func op_d078_0_nf; +extern cpuop_func op_d078_0_ff; +extern cpuop_func op_d079_0_nf; +extern cpuop_func op_d079_0_ff; +extern cpuop_func op_d07a_0_nf; +extern cpuop_func op_d07a_0_ff; +extern cpuop_func op_d07b_0_nf; +extern cpuop_func op_d07b_0_ff; +extern cpuop_func op_d07c_0_nf; +extern cpuop_func op_d07c_0_ff; +extern cpuop_func op_d080_0_nf; +extern cpuop_func op_d080_0_ff; +extern cpuop_func op_d088_0_nf; +extern cpuop_func op_d088_0_ff; +extern cpuop_func op_d090_0_nf; +extern cpuop_func op_d090_0_ff; +extern cpuop_func op_d098_0_nf; +extern cpuop_func op_d098_0_ff; +extern cpuop_func op_d0a0_0_nf; +extern cpuop_func op_d0a0_0_ff; +extern cpuop_func op_d0a8_0_nf; +extern cpuop_func op_d0a8_0_ff; +extern cpuop_func op_d0b0_0_nf; +extern cpuop_func op_d0b0_0_ff; +extern cpuop_func op_d0b8_0_nf; +extern cpuop_func op_d0b8_0_ff; +extern cpuop_func op_d0b9_0_nf; +extern cpuop_func op_d0b9_0_ff; +extern cpuop_func op_d0ba_0_nf; +extern cpuop_func op_d0ba_0_ff; +extern cpuop_func op_d0bb_0_nf; +extern cpuop_func op_d0bb_0_ff; +extern cpuop_func op_d0bc_0_nf; +extern cpuop_func op_d0bc_0_ff; +extern cpuop_func op_d0c0_0_nf; +extern cpuop_func op_d0c0_0_ff; +extern cpuop_func op_d0c8_0_nf; +extern cpuop_func op_d0c8_0_ff; +extern cpuop_func op_d0d0_0_nf; +extern cpuop_func op_d0d0_0_ff; +extern cpuop_func op_d0d8_0_nf; +extern cpuop_func op_d0d8_0_ff; +extern cpuop_func op_d0e0_0_nf; +extern cpuop_func op_d0e0_0_ff; +extern cpuop_func op_d0e8_0_nf; +extern cpuop_func op_d0e8_0_ff; +extern cpuop_func op_d0f0_0_nf; +extern cpuop_func op_d0f0_0_ff; +extern cpuop_func op_d0f8_0_nf; +extern cpuop_func op_d0f8_0_ff; +extern cpuop_func op_d0f9_0_nf; +extern cpuop_func op_d0f9_0_ff; +extern cpuop_func op_d0fa_0_nf; +extern cpuop_func op_d0fa_0_ff; +extern cpuop_func op_d0fb_0_nf; +extern cpuop_func op_d0fb_0_ff; +extern cpuop_func op_d0fc_0_nf; +extern cpuop_func op_d0fc_0_ff; +extern cpuop_func op_d100_0_nf; +extern cpuop_func op_d100_0_ff; +extern cpuop_func op_d108_0_nf; +extern cpuop_func op_d108_0_ff; +extern cpuop_func op_d110_0_nf; +extern cpuop_func op_d110_0_ff; +extern cpuop_func op_d118_0_nf; +extern cpuop_func op_d118_0_ff; +extern cpuop_func op_d120_0_nf; +extern cpuop_func op_d120_0_ff; +extern cpuop_func op_d128_0_nf; +extern cpuop_func op_d128_0_ff; +extern cpuop_func op_d130_0_nf; +extern cpuop_func op_d130_0_ff; +extern cpuop_func op_d138_0_nf; +extern cpuop_func op_d138_0_ff; +extern cpuop_func op_d139_0_nf; +extern cpuop_func op_d139_0_ff; +extern cpuop_func op_d140_0_nf; +extern cpuop_func op_d140_0_ff; +extern cpuop_func op_d148_0_nf; +extern cpuop_func op_d148_0_ff; +extern cpuop_func op_d150_0_nf; +extern cpuop_func op_d150_0_ff; +extern cpuop_func op_d158_0_nf; +extern cpuop_func op_d158_0_ff; +extern cpuop_func op_d160_0_nf; +extern cpuop_func op_d160_0_ff; +extern cpuop_func op_d168_0_nf; +extern cpuop_func op_d168_0_ff; +extern cpuop_func op_d170_0_nf; +extern cpuop_func op_d170_0_ff; +extern cpuop_func op_d178_0_nf; +extern cpuop_func op_d178_0_ff; +extern cpuop_func op_d179_0_nf; +extern cpuop_func op_d179_0_ff; +extern cpuop_func op_d180_0_nf; +extern cpuop_func op_d180_0_ff; +extern cpuop_func op_d188_0_nf; +extern cpuop_func op_d188_0_ff; +extern cpuop_func op_d190_0_nf; +extern cpuop_func op_d190_0_ff; +extern cpuop_func op_d198_0_nf; +extern cpuop_func op_d198_0_ff; +extern cpuop_func op_d1a0_0_nf; +extern cpuop_func op_d1a0_0_ff; +extern cpuop_func op_d1a8_0_nf; +extern cpuop_func op_d1a8_0_ff; +extern cpuop_func op_d1b0_0_nf; +extern cpuop_func op_d1b0_0_ff; +extern cpuop_func op_d1b8_0_nf; +extern cpuop_func op_d1b8_0_ff; +extern cpuop_func op_d1b9_0_nf; +extern cpuop_func op_d1b9_0_ff; +extern cpuop_func op_d1c0_0_nf; +extern cpuop_func op_d1c0_0_ff; +extern cpuop_func op_d1c8_0_nf; +extern cpuop_func op_d1c8_0_ff; +extern cpuop_func op_d1d0_0_nf; +extern cpuop_func op_d1d0_0_ff; +extern cpuop_func op_d1d8_0_nf; +extern cpuop_func op_d1d8_0_ff; +extern cpuop_func op_d1e0_0_nf; +extern cpuop_func op_d1e0_0_ff; +extern cpuop_func op_d1e8_0_nf; +extern cpuop_func op_d1e8_0_ff; +extern cpuop_func op_d1f0_0_nf; +extern cpuop_func op_d1f0_0_ff; +extern cpuop_func op_d1f8_0_nf; +extern cpuop_func op_d1f8_0_ff; +extern cpuop_func op_d1f9_0_nf; +extern cpuop_func op_d1f9_0_ff; +extern cpuop_func op_d1fa_0_nf; +extern cpuop_func op_d1fa_0_ff; +extern cpuop_func op_d1fb_0_nf; +extern cpuop_func op_d1fb_0_ff; +extern cpuop_func op_d1fc_0_nf; +extern cpuop_func op_d1fc_0_ff; +extern cpuop_func op_e000_0_nf; +extern cpuop_func op_e000_0_ff; +extern cpuop_func op_e008_0_nf; +extern cpuop_func op_e008_0_ff; +extern cpuop_func op_e010_0_nf; +extern cpuop_func op_e010_0_ff; +extern cpuop_func op_e018_0_nf; +extern cpuop_func op_e018_0_ff; +extern cpuop_func op_e020_0_nf; +extern cpuop_func op_e020_0_ff; +extern cpuop_func op_e028_0_nf; +extern cpuop_func op_e028_0_ff; +extern cpuop_func op_e030_0_nf; +extern cpuop_func op_e030_0_ff; +extern cpuop_func op_e038_0_nf; +extern cpuop_func op_e038_0_ff; +extern cpuop_func op_e040_0_nf; +extern cpuop_func op_e040_0_ff; +extern cpuop_func op_e048_0_nf; +extern cpuop_func op_e048_0_ff; +extern cpuop_func op_e050_0_nf; +extern cpuop_func op_e050_0_ff; +extern cpuop_func op_e058_0_nf; +extern cpuop_func op_e058_0_ff; +extern cpuop_func op_e060_0_nf; +extern cpuop_func op_e060_0_ff; +extern cpuop_func op_e068_0_nf; +extern cpuop_func op_e068_0_ff; +extern cpuop_func op_e070_0_nf; +extern cpuop_func op_e070_0_ff; +extern cpuop_func op_e078_0_nf; +extern cpuop_func op_e078_0_ff; +extern cpuop_func op_e080_0_nf; +extern cpuop_func op_e080_0_ff; +extern cpuop_func op_e088_0_nf; +extern cpuop_func op_e088_0_ff; +extern cpuop_func op_e090_0_nf; +extern cpuop_func op_e090_0_ff; +extern cpuop_func op_e098_0_nf; +extern cpuop_func op_e098_0_ff; +extern cpuop_func op_e0a0_0_nf; +extern cpuop_func op_e0a0_0_ff; +extern cpuop_func op_e0a8_0_nf; +extern cpuop_func op_e0a8_0_ff; +extern cpuop_func op_e0b0_0_nf; +extern cpuop_func op_e0b0_0_ff; +extern cpuop_func op_e0b8_0_nf; +extern cpuop_func op_e0b8_0_ff; +extern cpuop_func op_e0d0_0_nf; +extern cpuop_func op_e0d0_0_ff; +extern cpuop_func op_e0d8_0_nf; +extern cpuop_func op_e0d8_0_ff; +extern cpuop_func op_e0e0_0_nf; +extern cpuop_func op_e0e0_0_ff; +extern cpuop_func op_e0e8_0_nf; +extern cpuop_func op_e0e8_0_ff; +extern cpuop_func op_e0f0_0_nf; +extern cpuop_func op_e0f0_0_ff; +extern cpuop_func op_e0f8_0_nf; +extern cpuop_func op_e0f8_0_ff; +extern cpuop_func op_e0f9_0_nf; +extern cpuop_func op_e0f9_0_ff; +extern cpuop_func op_e100_0_nf; +extern cpuop_func op_e100_0_ff; +extern cpuop_func op_e108_0_nf; +extern cpuop_func op_e108_0_ff; +extern cpuop_func op_e110_0_nf; +extern cpuop_func op_e110_0_ff; +extern cpuop_func op_e118_0_nf; +extern cpuop_func op_e118_0_ff; +extern cpuop_func op_e120_0_nf; +extern cpuop_func op_e120_0_ff; +extern cpuop_func op_e128_0_nf; +extern cpuop_func op_e128_0_ff; +extern cpuop_func op_e130_0_nf; +extern cpuop_func op_e130_0_ff; +extern cpuop_func op_e138_0_nf; +extern cpuop_func op_e138_0_ff; +extern cpuop_func op_e140_0_nf; +extern cpuop_func op_e140_0_ff; +extern cpuop_func op_e148_0_nf; +extern cpuop_func op_e148_0_ff; +extern cpuop_func op_e150_0_nf; +extern cpuop_func op_e150_0_ff; +extern cpuop_func op_e158_0_nf; +extern cpuop_func op_e158_0_ff; +extern cpuop_func op_e160_0_nf; +extern cpuop_func op_e160_0_ff; +extern cpuop_func op_e168_0_nf; +extern cpuop_func op_e168_0_ff; +extern cpuop_func op_e170_0_nf; +extern cpuop_func op_e170_0_ff; +extern cpuop_func op_e178_0_nf; +extern cpuop_func op_e178_0_ff; +extern cpuop_func op_e180_0_nf; +extern cpuop_func op_e180_0_ff; +extern cpuop_func op_e188_0_nf; +extern cpuop_func op_e188_0_ff; +extern cpuop_func op_e190_0_nf; +extern cpuop_func op_e190_0_ff; +extern cpuop_func op_e198_0_nf; +extern cpuop_func op_e198_0_ff; +extern cpuop_func op_e1a0_0_nf; +extern cpuop_func op_e1a0_0_ff; +extern cpuop_func op_e1a8_0_nf; +extern cpuop_func op_e1a8_0_ff; +extern cpuop_func op_e1b0_0_nf; +extern cpuop_func op_e1b0_0_ff; +extern cpuop_func op_e1b8_0_nf; +extern cpuop_func op_e1b8_0_ff; +extern cpuop_func op_e1d0_0_nf; +extern cpuop_func op_e1d0_0_ff; +extern cpuop_func op_e1d8_0_nf; +extern cpuop_func op_e1d8_0_ff; +extern cpuop_func op_e1e0_0_nf; +extern cpuop_func op_e1e0_0_ff; +extern cpuop_func op_e1e8_0_nf; +extern cpuop_func op_e1e8_0_ff; +extern cpuop_func op_e1f0_0_nf; +extern cpuop_func op_e1f0_0_ff; +extern cpuop_func op_e1f8_0_nf; +extern cpuop_func op_e1f8_0_ff; +extern cpuop_func op_e1f9_0_nf; +extern cpuop_func op_e1f9_0_ff; +extern cpuop_func op_e2d0_0_nf; +extern cpuop_func op_e2d0_0_ff; +extern cpuop_func op_e2d8_0_nf; +extern cpuop_func op_e2d8_0_ff; +extern cpuop_func op_e2e0_0_nf; +extern cpuop_func op_e2e0_0_ff; +extern cpuop_func op_e2e8_0_nf; +extern cpuop_func op_e2e8_0_ff; +extern cpuop_func op_e2f0_0_nf; +extern cpuop_func op_e2f0_0_ff; +extern cpuop_func op_e2f8_0_nf; +extern cpuop_func op_e2f8_0_ff; +extern cpuop_func op_e2f9_0_nf; +extern cpuop_func op_e2f9_0_ff; +extern cpuop_func op_e3d0_0_nf; +extern cpuop_func op_e3d0_0_ff; +extern cpuop_func op_e3d8_0_nf; +extern cpuop_func op_e3d8_0_ff; +extern cpuop_func op_e3e0_0_nf; +extern cpuop_func op_e3e0_0_ff; +extern cpuop_func op_e3e8_0_nf; +extern cpuop_func op_e3e8_0_ff; +extern cpuop_func op_e3f0_0_nf; +extern cpuop_func op_e3f0_0_ff; +extern cpuop_func op_e3f8_0_nf; +extern cpuop_func op_e3f8_0_ff; +extern cpuop_func op_e3f9_0_nf; +extern cpuop_func op_e3f9_0_ff; +extern cpuop_func op_e4d0_0_nf; +extern cpuop_func op_e4d0_0_ff; +extern cpuop_func op_e4d8_0_nf; +extern cpuop_func op_e4d8_0_ff; +extern cpuop_func op_e4e0_0_nf; +extern cpuop_func op_e4e0_0_ff; +extern cpuop_func op_e4e8_0_nf; +extern cpuop_func op_e4e8_0_ff; +extern cpuop_func op_e4f0_0_nf; +extern cpuop_func op_e4f0_0_ff; +extern cpuop_func op_e4f8_0_nf; +extern cpuop_func op_e4f8_0_ff; +extern cpuop_func op_e4f9_0_nf; +extern cpuop_func op_e4f9_0_ff; +extern cpuop_func op_e5d0_0_nf; +extern cpuop_func op_e5d0_0_ff; +extern cpuop_func op_e5d8_0_nf; +extern cpuop_func op_e5d8_0_ff; +extern cpuop_func op_e5e0_0_nf; +extern cpuop_func op_e5e0_0_ff; +extern cpuop_func op_e5e8_0_nf; +extern cpuop_func op_e5e8_0_ff; +extern cpuop_func op_e5f0_0_nf; +extern cpuop_func op_e5f0_0_ff; +extern cpuop_func op_e5f8_0_nf; +extern cpuop_func op_e5f8_0_ff; +extern cpuop_func op_e5f9_0_nf; +extern cpuop_func op_e5f9_0_ff; +extern cpuop_func op_e6d0_0_nf; +extern cpuop_func op_e6d0_0_ff; +extern cpuop_func op_e6d8_0_nf; +extern cpuop_func op_e6d8_0_ff; +extern cpuop_func op_e6e0_0_nf; +extern cpuop_func op_e6e0_0_ff; +extern cpuop_func op_e6e8_0_nf; +extern cpuop_func op_e6e8_0_ff; +extern cpuop_func op_e6f0_0_nf; +extern cpuop_func op_e6f0_0_ff; +extern cpuop_func op_e6f8_0_nf; +extern cpuop_func op_e6f8_0_ff; +extern cpuop_func op_e6f9_0_nf; +extern cpuop_func op_e6f9_0_ff; +extern cpuop_func op_e7d0_0_nf; +extern cpuop_func op_e7d0_0_ff; +extern cpuop_func op_e7d8_0_nf; +extern cpuop_func op_e7d8_0_ff; +extern cpuop_func op_e7e0_0_nf; +extern cpuop_func op_e7e0_0_ff; +extern cpuop_func op_e7e8_0_nf; +extern cpuop_func op_e7e8_0_ff; +extern cpuop_func op_e7f0_0_nf; +extern cpuop_func op_e7f0_0_ff; +extern cpuop_func op_e7f8_0_nf; +extern cpuop_func op_e7f8_0_ff; +extern cpuop_func op_e7f9_0_nf; +extern cpuop_func op_e7f9_0_ff; +extern cpuop_func op_e8c0_0_nf; +extern cpuop_func op_e8c0_0_ff; +extern cpuop_func op_e8d0_0_nf; +extern cpuop_func op_e8d0_0_ff; +extern cpuop_func op_e8e8_0_nf; +extern cpuop_func op_e8e8_0_ff; +extern cpuop_func op_e8f0_0_nf; +extern cpuop_func op_e8f0_0_ff; +extern cpuop_func op_e8f8_0_nf; +extern cpuop_func op_e8f8_0_ff; +extern cpuop_func op_e8f9_0_nf; +extern cpuop_func op_e8f9_0_ff; +extern cpuop_func op_e8fa_0_nf; +extern cpuop_func op_e8fa_0_ff; +extern cpuop_func op_e8fb_0_nf; +extern cpuop_func op_e8fb_0_ff; +extern cpuop_func op_e9c0_0_nf; +extern cpuop_func op_e9c0_0_ff; +extern cpuop_func op_e9d0_0_nf; +extern cpuop_func op_e9d0_0_ff; +extern cpuop_func op_e9e8_0_nf; +extern cpuop_func op_e9e8_0_ff; +extern cpuop_func op_e9f0_0_nf; +extern cpuop_func op_e9f0_0_ff; +extern cpuop_func op_e9f8_0_nf; +extern cpuop_func op_e9f8_0_ff; +extern cpuop_func op_e9f9_0_nf; +extern cpuop_func op_e9f9_0_ff; +extern cpuop_func op_e9fa_0_nf; +extern cpuop_func op_e9fa_0_ff; +extern cpuop_func op_e9fb_0_nf; +extern cpuop_func op_e9fb_0_ff; +extern cpuop_func op_eac0_0_nf; +extern cpuop_func op_eac0_0_ff; +extern cpuop_func op_ead0_0_nf; +extern cpuop_func op_ead0_0_ff; +extern cpuop_func op_eae8_0_nf; +extern cpuop_func op_eae8_0_ff; +extern cpuop_func op_eaf0_0_nf; +extern cpuop_func op_eaf0_0_ff; +extern cpuop_func op_eaf8_0_nf; +extern cpuop_func op_eaf8_0_ff; +extern cpuop_func op_eaf9_0_nf; +extern cpuop_func op_eaf9_0_ff; +extern cpuop_func op_ebc0_0_nf; +extern cpuop_func op_ebc0_0_ff; +extern cpuop_func op_ebd0_0_nf; +extern cpuop_func op_ebd0_0_ff; +extern cpuop_func op_ebe8_0_nf; +extern cpuop_func op_ebe8_0_ff; +extern cpuop_func op_ebf0_0_nf; +extern cpuop_func op_ebf0_0_ff; +extern cpuop_func op_ebf8_0_nf; +extern cpuop_func op_ebf8_0_ff; +extern cpuop_func op_ebf9_0_nf; +extern cpuop_func op_ebf9_0_ff; +extern cpuop_func op_ebfa_0_nf; +extern cpuop_func op_ebfa_0_ff; +extern cpuop_func op_ebfb_0_nf; +extern cpuop_func op_ebfb_0_ff; +extern cpuop_func op_ecc0_0_nf; +extern cpuop_func op_ecc0_0_ff; +extern cpuop_func op_ecd0_0_nf; +extern cpuop_func op_ecd0_0_ff; +extern cpuop_func op_ece8_0_nf; +extern cpuop_func op_ece8_0_ff; +extern cpuop_func op_ecf0_0_nf; +extern cpuop_func op_ecf0_0_ff; +extern cpuop_func op_ecf8_0_nf; +extern cpuop_func op_ecf8_0_ff; +extern cpuop_func op_ecf9_0_nf; +extern cpuop_func op_ecf9_0_ff; +extern cpuop_func op_edc0_0_nf; +extern cpuop_func op_edc0_0_ff; +extern cpuop_func op_edd0_0_nf; +extern cpuop_func op_edd0_0_ff; +extern cpuop_func op_ede8_0_nf; +extern cpuop_func op_ede8_0_ff; +extern cpuop_func op_edf0_0_nf; +extern cpuop_func op_edf0_0_ff; +extern cpuop_func op_edf8_0_nf; +extern cpuop_func op_edf8_0_ff; +extern cpuop_func op_edf9_0_nf; +extern cpuop_func op_edf9_0_ff; +extern cpuop_func op_edfa_0_nf; +extern cpuop_func op_edfa_0_ff; +extern cpuop_func op_edfb_0_nf; +extern cpuop_func op_edfb_0_ff; +extern cpuop_func op_eec0_0_nf; +extern cpuop_func op_eec0_0_ff; +extern cpuop_func op_eed0_0_nf; +extern cpuop_func op_eed0_0_ff; +extern cpuop_func op_eee8_0_nf; +extern cpuop_func op_eee8_0_ff; +extern cpuop_func op_eef0_0_nf; +extern cpuop_func op_eef0_0_ff; +extern cpuop_func op_eef8_0_nf; +extern cpuop_func op_eef8_0_ff; +extern cpuop_func op_eef9_0_nf; +extern cpuop_func op_eef9_0_ff; +extern cpuop_func op_efc0_0_nf; +extern cpuop_func op_efc0_0_ff; +extern cpuop_func op_efd0_0_nf; +extern cpuop_func op_efd0_0_ff; +extern cpuop_func op_efe8_0_nf; +extern cpuop_func op_efe8_0_ff; +extern cpuop_func op_eff0_0_nf; +extern cpuop_func op_eff0_0_ff; +extern cpuop_func op_eff8_0_nf; +extern cpuop_func op_eff8_0_ff; +extern cpuop_func op_eff9_0_nf; +extern cpuop_func op_eff9_0_ff; +extern cpuop_func op_f200_0_nf; +extern cpuop_func op_f200_0_ff; +extern cpuop_func op_f208_0_nf; +extern cpuop_func op_f208_0_ff; +extern cpuop_func op_f210_0_nf; +extern cpuop_func op_f210_0_ff; +extern cpuop_func op_f218_0_nf; +extern cpuop_func op_f218_0_ff; +extern cpuop_func op_f220_0_nf; +extern cpuop_func op_f220_0_ff; +extern cpuop_func op_f228_0_nf; +extern cpuop_func op_f228_0_ff; +extern cpuop_func op_f230_0_nf; +extern cpuop_func op_f230_0_ff; +extern cpuop_func op_f238_0_nf; +extern cpuop_func op_f238_0_ff; +extern cpuop_func op_f239_0_nf; +extern cpuop_func op_f239_0_ff; +extern cpuop_func op_f23a_0_nf; +extern cpuop_func op_f23a_0_ff; +extern cpuop_func op_f23b_0_nf; +extern cpuop_func op_f23b_0_ff; +extern cpuop_func op_f23c_0_nf; +extern cpuop_func op_f23c_0_ff; +extern cpuop_func op_f240_0_nf; +extern cpuop_func op_f240_0_ff; +extern cpuop_func op_f248_0_nf; +extern cpuop_func op_f248_0_ff; +extern cpuop_func op_f250_0_nf; +extern cpuop_func op_f250_0_ff; +extern cpuop_func op_f258_0_nf; +extern cpuop_func op_f258_0_ff; +extern cpuop_func op_f260_0_nf; +extern cpuop_func op_f260_0_ff; +extern cpuop_func op_f268_0_nf; +extern cpuop_func op_f268_0_ff; +extern cpuop_func op_f270_0_nf; +extern cpuop_func op_f270_0_ff; +extern cpuop_func op_f278_0_nf; +extern cpuop_func op_f278_0_ff; +extern cpuop_func op_f279_0_nf; +extern cpuop_func op_f279_0_ff; +extern cpuop_func op_f27a_0_nf; +extern cpuop_func op_f27a_0_ff; +extern cpuop_func op_f27b_0_nf; +extern cpuop_func op_f27b_0_ff; +extern cpuop_func op_f27c_0_nf; +extern cpuop_func op_f27c_0_ff; +extern cpuop_func op_f280_0_nf; +extern cpuop_func op_f280_0_ff; +extern cpuop_func op_f2c0_0_nf; +extern cpuop_func op_f2c0_0_ff; +extern cpuop_func op_f310_0_nf; +extern cpuop_func op_f310_0_ff; +extern cpuop_func op_f320_0_nf; +extern cpuop_func op_f320_0_ff; +extern cpuop_func op_f328_0_nf; +extern cpuop_func op_f328_0_ff; +extern cpuop_func op_f330_0_nf; +extern cpuop_func op_f330_0_ff; +extern cpuop_func op_f338_0_nf; +extern cpuop_func op_f338_0_ff; +extern cpuop_func op_f339_0_nf; +extern cpuop_func op_f339_0_ff; +extern cpuop_func op_f350_0_nf; +extern cpuop_func op_f350_0_ff; +extern cpuop_func op_f358_0_nf; +extern cpuop_func op_f358_0_ff; +extern cpuop_func op_f368_0_nf; +extern cpuop_func op_f368_0_ff; +extern cpuop_func op_f370_0_nf; +extern cpuop_func op_f370_0_ff; +extern cpuop_func op_f378_0_nf; +extern cpuop_func op_f378_0_ff; +extern cpuop_func op_f379_0_nf; +extern cpuop_func op_f379_0_ff; +extern cpuop_func op_f37a_0_nf; +extern cpuop_func op_f37a_0_ff; +extern cpuop_func op_f37b_0_nf; +extern cpuop_func op_f37b_0_ff; +extern cpuop_func op_f408_0_nf; +extern cpuop_func op_f408_0_ff; +extern cpuop_func op_f410_0_nf; +extern cpuop_func op_f410_0_ff; +extern cpuop_func op_f418_0_nf; +extern cpuop_func op_f418_0_ff; +extern cpuop_func op_f419_0_nf; +extern cpuop_func op_f419_0_ff; +extern cpuop_func op_f41a_0_nf; +extern cpuop_func op_f41a_0_ff; +extern cpuop_func op_f41b_0_nf; +extern cpuop_func op_f41b_0_ff; +extern cpuop_func op_f41c_0_nf; +extern cpuop_func op_f41c_0_ff; +extern cpuop_func op_f41d_0_nf; +extern cpuop_func op_f41d_0_ff; +extern cpuop_func op_f41e_0_nf; +extern cpuop_func op_f41e_0_ff; +extern cpuop_func op_f41f_0_nf; +extern cpuop_func op_f41f_0_ff; +extern cpuop_func op_f428_0_nf; +extern cpuop_func op_f428_0_ff; +extern cpuop_func op_f430_0_nf; +extern cpuop_func op_f430_0_ff; +extern cpuop_func op_f438_0_nf; +extern cpuop_func op_f438_0_ff; +extern cpuop_func op_f439_0_nf; +extern cpuop_func op_f439_0_ff; +extern cpuop_func op_f43a_0_nf; +extern cpuop_func op_f43a_0_ff; +extern cpuop_func op_f43b_0_nf; +extern cpuop_func op_f43b_0_ff; +extern cpuop_func op_f43c_0_nf; +extern cpuop_func op_f43c_0_ff; +extern cpuop_func op_f43d_0_nf; +extern cpuop_func op_f43d_0_ff; +extern cpuop_func op_f43e_0_nf; +extern cpuop_func op_f43e_0_ff; +extern cpuop_func op_f43f_0_nf; +extern cpuop_func op_f43f_0_ff; +extern cpuop_func op_f500_0_nf; +extern cpuop_func op_f500_0_ff; +extern cpuop_func op_f600_0_nf; +extern cpuop_func op_f600_0_ff; +extern cpuop_func op_f608_0_nf; +extern cpuop_func op_f608_0_ff; +extern cpuop_func op_f610_0_nf; +extern cpuop_func op_f610_0_ff; +extern cpuop_func op_f618_0_nf; +extern cpuop_func op_f618_0_ff; +extern cpuop_func op_f620_0_nf; +extern cpuop_func op_f620_0_ff; +extern cpuop_func op_4800_1_nf; +extern cpuop_func op_4800_1_ff; +extern cpuop_func op_4810_1_nf; +extern cpuop_func op_4810_1_ff; +extern cpuop_func op_4818_1_nf; +extern cpuop_func op_4818_1_ff; +extern cpuop_func op_4820_1_nf; +extern cpuop_func op_4820_1_ff; +extern cpuop_func op_4828_1_nf; +extern cpuop_func op_4828_1_ff; +extern cpuop_func op_4830_1_nf; +extern cpuop_func op_4830_1_ff; +extern cpuop_func op_4838_1_nf; +extern cpuop_func op_4838_1_ff; +extern cpuop_func op_4839_1_nf; +extern cpuop_func op_4839_1_ff; +extern cpuop_func op_8100_1_nf; +extern cpuop_func op_8100_1_ff; +extern cpuop_func op_8108_1_nf; +extern cpuop_func op_8108_1_ff; +extern cpuop_func op_c100_1_nf; +extern cpuop_func op_c100_1_ff; +extern cpuop_func op_c108_1_nf; +extern cpuop_func op_c108_1_ff; +extern cpuop_func op_30_3_nf; +extern cpuop_func op_30_3_ff; +extern cpuop_func op_70_3_nf; +extern cpuop_func op_70_3_ff; +extern cpuop_func op_b0_3_nf; +extern cpuop_func op_b0_3_ff; +extern cpuop_func op_130_3_nf; +extern cpuop_func op_130_3_ff; +extern cpuop_func op_13b_3_nf; +extern cpuop_func op_13b_3_ff; +extern cpuop_func op_170_3_nf; +extern cpuop_func op_170_3_ff; +extern cpuop_func op_17b_3_nf; +extern cpuop_func op_17b_3_ff; +extern cpuop_func op_1b0_3_nf; +extern cpuop_func op_1b0_3_ff; +extern cpuop_func op_1bb_3_nf; +extern cpuop_func op_1bb_3_ff; +extern cpuop_func op_1f0_3_nf; +extern cpuop_func op_1f0_3_ff; +extern cpuop_func op_1fb_3_nf; +extern cpuop_func op_1fb_3_ff; +extern cpuop_func op_230_3_nf; +extern cpuop_func op_230_3_ff; +extern cpuop_func op_270_3_nf; +extern cpuop_func op_270_3_ff; +extern cpuop_func op_2b0_3_nf; +extern cpuop_func op_2b0_3_ff; +extern cpuop_func op_430_3_nf; +extern cpuop_func op_430_3_ff; +extern cpuop_func op_470_3_nf; +extern cpuop_func op_470_3_ff; +extern cpuop_func op_4b0_3_nf; +extern cpuop_func op_4b0_3_ff; +extern cpuop_func op_630_3_nf; +extern cpuop_func op_630_3_ff; +extern cpuop_func op_670_3_nf; +extern cpuop_func op_670_3_ff; +extern cpuop_func op_6b0_3_nf; +extern cpuop_func op_6b0_3_ff; +extern cpuop_func op_830_3_nf; +extern cpuop_func op_830_3_ff; +extern cpuop_func op_83b_3_nf; +extern cpuop_func op_83b_3_ff; +extern cpuop_func op_870_3_nf; +extern cpuop_func op_870_3_ff; +extern cpuop_func op_87b_3_nf; +extern cpuop_func op_87b_3_ff; +extern cpuop_func op_8b0_3_nf; +extern cpuop_func op_8b0_3_ff; +extern cpuop_func op_8bb_3_nf; +extern cpuop_func op_8bb_3_ff; +extern cpuop_func op_8f0_3_nf; +extern cpuop_func op_8f0_3_ff; +extern cpuop_func op_8fb_3_nf; +extern cpuop_func op_8fb_3_ff; +extern cpuop_func op_a30_3_nf; +extern cpuop_func op_a30_3_ff; +extern cpuop_func op_a70_3_nf; +extern cpuop_func op_a70_3_ff; +extern cpuop_func op_ab0_3_nf; +extern cpuop_func op_ab0_3_ff; +extern cpuop_func op_c30_3_nf; +extern cpuop_func op_c30_3_ff; +extern cpuop_func op_c3b_3_nf; +extern cpuop_func op_c3b_3_ff; +extern cpuop_func op_c70_3_nf; +extern cpuop_func op_c70_3_ff; +extern cpuop_func op_c7b_3_nf; +extern cpuop_func op_c7b_3_ff; +extern cpuop_func op_cb0_3_nf; +extern cpuop_func op_cb0_3_ff; +extern cpuop_func op_cbb_3_nf; +extern cpuop_func op_cbb_3_ff; +extern cpuop_func op_1030_3_nf; +extern cpuop_func op_1030_3_ff; +extern cpuop_func op_103b_3_nf; +extern cpuop_func op_103b_3_ff; +extern cpuop_func op_10b0_3_nf; +extern cpuop_func op_10b0_3_ff; +extern cpuop_func op_10bb_3_nf; +extern cpuop_func op_10bb_3_ff; +extern cpuop_func op_10f0_3_nf; +extern cpuop_func op_10f0_3_ff; +extern cpuop_func op_10fb_3_nf; +extern cpuop_func op_10fb_3_ff; +extern cpuop_func op_1130_3_nf; +extern cpuop_func op_1130_3_ff; +extern cpuop_func op_113b_3_nf; +extern cpuop_func op_113b_3_ff; +extern cpuop_func op_1170_3_nf; +extern cpuop_func op_1170_3_ff; +extern cpuop_func op_117b_3_nf; +extern cpuop_func op_117b_3_ff; +extern cpuop_func op_1180_3_nf; +extern cpuop_func op_1180_3_ff; +extern cpuop_func op_1190_3_nf; +extern cpuop_func op_1190_3_ff; +extern cpuop_func op_1198_3_nf; +extern cpuop_func op_1198_3_ff; +extern cpuop_func op_11a0_3_nf; +extern cpuop_func op_11a0_3_ff; +extern cpuop_func op_11a8_3_nf; +extern cpuop_func op_11a8_3_ff; +extern cpuop_func op_11b0_3_nf; +extern cpuop_func op_11b0_3_ff; +extern cpuop_func op_11b8_3_nf; +extern cpuop_func op_11b8_3_ff; +extern cpuop_func op_11b9_3_nf; +extern cpuop_func op_11b9_3_ff; +extern cpuop_func op_11ba_3_nf; +extern cpuop_func op_11ba_3_ff; +extern cpuop_func op_11bb_3_nf; +extern cpuop_func op_11bb_3_ff; +extern cpuop_func op_11bc_3_nf; +extern cpuop_func op_11bc_3_ff; +extern cpuop_func op_11f0_3_nf; +extern cpuop_func op_11f0_3_ff; +extern cpuop_func op_11fb_3_nf; +extern cpuop_func op_11fb_3_ff; +extern cpuop_func op_13f0_3_nf; +extern cpuop_func op_13f0_3_ff; +extern cpuop_func op_13fb_3_nf; +extern cpuop_func op_13fb_3_ff; +extern cpuop_func op_2030_3_nf; +extern cpuop_func op_2030_3_ff; +extern cpuop_func op_203b_3_nf; +extern cpuop_func op_203b_3_ff; +extern cpuop_func op_2070_3_nf; +extern cpuop_func op_2070_3_ff; +extern cpuop_func op_207b_3_nf; +extern cpuop_func op_207b_3_ff; +extern cpuop_func op_20b0_3_nf; +extern cpuop_func op_20b0_3_ff; +extern cpuop_func op_20bb_3_nf; +extern cpuop_func op_20bb_3_ff; +extern cpuop_func op_20f0_3_nf; +extern cpuop_func op_20f0_3_ff; +extern cpuop_func op_20fb_3_nf; +extern cpuop_func op_20fb_3_ff; +extern cpuop_func op_2130_3_nf; +extern cpuop_func op_2130_3_ff; +extern cpuop_func op_213b_3_nf; +extern cpuop_func op_213b_3_ff; +extern cpuop_func op_2170_3_nf; +extern cpuop_func op_2170_3_ff; +extern cpuop_func op_217b_3_nf; +extern cpuop_func op_217b_3_ff; +extern cpuop_func op_2180_3_nf; +extern cpuop_func op_2180_3_ff; +extern cpuop_func op_2188_3_nf; +extern cpuop_func op_2188_3_ff; +extern cpuop_func op_2190_3_nf; +extern cpuop_func op_2190_3_ff; +extern cpuop_func op_2198_3_nf; +extern cpuop_func op_2198_3_ff; +extern cpuop_func op_21a0_3_nf; +extern cpuop_func op_21a0_3_ff; +extern cpuop_func op_21a8_3_nf; +extern cpuop_func op_21a8_3_ff; +extern cpuop_func op_21b0_3_nf; +extern cpuop_func op_21b0_3_ff; +extern cpuop_func op_21b8_3_nf; +extern cpuop_func op_21b8_3_ff; +extern cpuop_func op_21b9_3_nf; +extern cpuop_func op_21b9_3_ff; +extern cpuop_func op_21ba_3_nf; +extern cpuop_func op_21ba_3_ff; +extern cpuop_func op_21bb_3_nf; +extern cpuop_func op_21bb_3_ff; +extern cpuop_func op_21bc_3_nf; +extern cpuop_func op_21bc_3_ff; +extern cpuop_func op_21f0_3_nf; +extern cpuop_func op_21f0_3_ff; +extern cpuop_func op_21fb_3_nf; +extern cpuop_func op_21fb_3_ff; +extern cpuop_func op_23f0_3_nf; +extern cpuop_func op_23f0_3_ff; +extern cpuop_func op_23fb_3_nf; +extern cpuop_func op_23fb_3_ff; +extern cpuop_func op_3030_3_nf; +extern cpuop_func op_3030_3_ff; +extern cpuop_func op_303b_3_nf; +extern cpuop_func op_303b_3_ff; +extern cpuop_func op_3070_3_nf; +extern cpuop_func op_3070_3_ff; +extern cpuop_func op_307b_3_nf; +extern cpuop_func op_307b_3_ff; +extern cpuop_func op_30b0_3_nf; +extern cpuop_func op_30b0_3_ff; +extern cpuop_func op_30bb_3_nf; +extern cpuop_func op_30bb_3_ff; +extern cpuop_func op_30f0_3_nf; +extern cpuop_func op_30f0_3_ff; +extern cpuop_func op_30fb_3_nf; +extern cpuop_func op_30fb_3_ff; +extern cpuop_func op_3130_3_nf; +extern cpuop_func op_3130_3_ff; +extern cpuop_func op_313b_3_nf; +extern cpuop_func op_313b_3_ff; +extern cpuop_func op_3170_3_nf; +extern cpuop_func op_3170_3_ff; +extern cpuop_func op_317b_3_nf; +extern cpuop_func op_317b_3_ff; +extern cpuop_func op_3180_3_nf; +extern cpuop_func op_3180_3_ff; +extern cpuop_func op_3188_3_nf; +extern cpuop_func op_3188_3_ff; +extern cpuop_func op_3190_3_nf; +extern cpuop_func op_3190_3_ff; +extern cpuop_func op_3198_3_nf; +extern cpuop_func op_3198_3_ff; +extern cpuop_func op_31a0_3_nf; +extern cpuop_func op_31a0_3_ff; +extern cpuop_func op_31a8_3_nf; +extern cpuop_func op_31a8_3_ff; +extern cpuop_func op_31b0_3_nf; +extern cpuop_func op_31b0_3_ff; +extern cpuop_func op_31b8_3_nf; +extern cpuop_func op_31b8_3_ff; +extern cpuop_func op_31b9_3_nf; +extern cpuop_func op_31b9_3_ff; +extern cpuop_func op_31ba_3_nf; +extern cpuop_func op_31ba_3_ff; +extern cpuop_func op_31bb_3_nf; +extern cpuop_func op_31bb_3_ff; +extern cpuop_func op_31bc_3_nf; +extern cpuop_func op_31bc_3_ff; +extern cpuop_func op_31f0_3_nf; +extern cpuop_func op_31f0_3_ff; +extern cpuop_func op_31fb_3_nf; +extern cpuop_func op_31fb_3_ff; +extern cpuop_func op_33f0_3_nf; +extern cpuop_func op_33f0_3_ff; +extern cpuop_func op_33fb_3_nf; +extern cpuop_func op_33fb_3_ff; +extern cpuop_func op_4030_3_nf; +extern cpuop_func op_4030_3_ff; +extern cpuop_func op_4070_3_nf; +extern cpuop_func op_4070_3_ff; +extern cpuop_func op_40b0_3_nf; +extern cpuop_func op_40b0_3_ff; +extern cpuop_func op_40f0_3_nf; +extern cpuop_func op_40f0_3_ff; +extern cpuop_func op_4130_3_nf; +extern cpuop_func op_4130_3_ff; +extern cpuop_func op_413b_3_nf; +extern cpuop_func op_413b_3_ff; +extern cpuop_func op_41b0_3_nf; +extern cpuop_func op_41b0_3_ff; +extern cpuop_func op_41bb_3_nf; +extern cpuop_func op_41bb_3_ff; +extern cpuop_func op_41f0_3_nf; +extern cpuop_func op_41f0_3_ff; +extern cpuop_func op_41fb_3_nf; +extern cpuop_func op_41fb_3_ff; +extern cpuop_func op_4230_3_nf; +extern cpuop_func op_4230_3_ff; +extern cpuop_func op_4270_3_nf; +extern cpuop_func op_4270_3_ff; +extern cpuop_func op_42b0_3_nf; +extern cpuop_func op_42b0_3_ff; +extern cpuop_func op_42f0_3_nf; +extern cpuop_func op_42f0_3_ff; +extern cpuop_func op_4430_3_nf; +extern cpuop_func op_4430_3_ff; +extern cpuop_func op_4470_3_nf; +extern cpuop_func op_4470_3_ff; +extern cpuop_func op_44b0_3_nf; +extern cpuop_func op_44b0_3_ff; +extern cpuop_func op_44f0_3_nf; +extern cpuop_func op_44f0_3_ff; +extern cpuop_func op_44fb_3_nf; +extern cpuop_func op_44fb_3_ff; +extern cpuop_func op_4630_3_nf; +extern cpuop_func op_4630_3_ff; +extern cpuop_func op_4670_3_nf; +extern cpuop_func op_4670_3_ff; +extern cpuop_func op_46b0_3_nf; +extern cpuop_func op_46b0_3_ff; +extern cpuop_func op_46f0_3_nf; +extern cpuop_func op_46f0_3_ff; +extern cpuop_func op_46fb_3_nf; +extern cpuop_func op_46fb_3_ff; +extern cpuop_func op_4830_3_nf; +extern cpuop_func op_4830_3_ff; +extern cpuop_func op_4870_3_nf; +extern cpuop_func op_4870_3_ff; +extern cpuop_func op_487b_3_nf; +extern cpuop_func op_487b_3_ff; +extern cpuop_func op_48b0_3_nf; +extern cpuop_func op_48b0_3_ff; +extern cpuop_func op_48f0_3_nf; +extern cpuop_func op_48f0_3_ff; +extern cpuop_func op_4a30_3_nf; +extern cpuop_func op_4a30_3_ff; +extern cpuop_func op_4a3b_3_nf; +extern cpuop_func op_4a3b_3_ff; +extern cpuop_func op_4a70_3_nf; +extern cpuop_func op_4a70_3_ff; +extern cpuop_func op_4a7b_3_nf; +extern cpuop_func op_4a7b_3_ff; +extern cpuop_func op_4ab0_3_nf; +extern cpuop_func op_4ab0_3_ff; +extern cpuop_func op_4abb_3_nf; +extern cpuop_func op_4abb_3_ff; +extern cpuop_func op_4af0_3_nf; +extern cpuop_func op_4af0_3_ff; +extern cpuop_func op_4cb0_3_nf; +extern cpuop_func op_4cb0_3_ff; +extern cpuop_func op_4cbb_3_nf; +extern cpuop_func op_4cbb_3_ff; +extern cpuop_func op_4cf0_3_nf; +extern cpuop_func op_4cf0_3_ff; +extern cpuop_func op_4cfb_3_nf; +extern cpuop_func op_4cfb_3_ff; +extern cpuop_func op_4eb0_3_nf; +extern cpuop_func op_4eb0_3_ff; +extern cpuop_func op_4ebb_3_nf; +extern cpuop_func op_4ebb_3_ff; +extern cpuop_func op_4ef0_3_nf; +extern cpuop_func op_4ef0_3_ff; +extern cpuop_func op_4efb_3_nf; +extern cpuop_func op_4efb_3_ff; +extern cpuop_func op_5030_3_nf; +extern cpuop_func op_5030_3_ff; +extern cpuop_func op_5070_3_nf; +extern cpuop_func op_5070_3_ff; +extern cpuop_func op_50b0_3_nf; +extern cpuop_func op_50b0_3_ff; +extern cpuop_func op_50f0_3_nf; +extern cpuop_func op_50f0_3_ff; +extern cpuop_func op_5130_3_nf; +extern cpuop_func op_5130_3_ff; +extern cpuop_func op_5170_3_nf; +extern cpuop_func op_5170_3_ff; +extern cpuop_func op_51b0_3_nf; +extern cpuop_func op_51b0_3_ff; +extern cpuop_func op_51f0_3_nf; +extern cpuop_func op_51f0_3_ff; +extern cpuop_func op_52f0_3_nf; +extern cpuop_func op_52f0_3_ff; +extern cpuop_func op_53f0_3_nf; +extern cpuop_func op_53f0_3_ff; +extern cpuop_func op_54f0_3_nf; +extern cpuop_func op_54f0_3_ff; +extern cpuop_func op_55f0_3_nf; +extern cpuop_func op_55f0_3_ff; +extern cpuop_func op_56f0_3_nf; +extern cpuop_func op_56f0_3_ff; +extern cpuop_func op_57f0_3_nf; +extern cpuop_func op_57f0_3_ff; +extern cpuop_func op_58f0_3_nf; +extern cpuop_func op_58f0_3_ff; +extern cpuop_func op_59f0_3_nf; +extern cpuop_func op_59f0_3_ff; +extern cpuop_func op_5af0_3_nf; +extern cpuop_func op_5af0_3_ff; +extern cpuop_func op_5bf0_3_nf; +extern cpuop_func op_5bf0_3_ff; +extern cpuop_func op_5cf0_3_nf; +extern cpuop_func op_5cf0_3_ff; +extern cpuop_func op_5df0_3_nf; +extern cpuop_func op_5df0_3_ff; +extern cpuop_func op_5ef0_3_nf; +extern cpuop_func op_5ef0_3_ff; +extern cpuop_func op_5ff0_3_nf; +extern cpuop_func op_5ff0_3_ff; +extern cpuop_func op_60ff_3_nf; +extern cpuop_func op_60ff_3_ff; +extern cpuop_func op_62ff_3_nf; +extern cpuop_func op_62ff_3_ff; +extern cpuop_func op_63ff_3_nf; +extern cpuop_func op_63ff_3_ff; +extern cpuop_func op_64ff_3_nf; +extern cpuop_func op_64ff_3_ff; +extern cpuop_func op_65ff_3_nf; +extern cpuop_func op_65ff_3_ff; +extern cpuop_func op_66ff_3_nf; +extern cpuop_func op_66ff_3_ff; +extern cpuop_func op_67ff_3_nf; +extern cpuop_func op_67ff_3_ff; +extern cpuop_func op_68ff_3_nf; +extern cpuop_func op_68ff_3_ff; +extern cpuop_func op_69ff_3_nf; +extern cpuop_func op_69ff_3_ff; +extern cpuop_func op_6aff_3_nf; +extern cpuop_func op_6aff_3_ff; +extern cpuop_func op_6bff_3_nf; +extern cpuop_func op_6bff_3_ff; +extern cpuop_func op_6cff_3_nf; +extern cpuop_func op_6cff_3_ff; +extern cpuop_func op_6dff_3_nf; +extern cpuop_func op_6dff_3_ff; +extern cpuop_func op_6eff_3_nf; +extern cpuop_func op_6eff_3_ff; +extern cpuop_func op_6fff_3_nf; +extern cpuop_func op_6fff_3_ff; +extern cpuop_func op_8030_3_nf; +extern cpuop_func op_8030_3_ff; +extern cpuop_func op_803b_3_nf; +extern cpuop_func op_803b_3_ff; +extern cpuop_func op_8070_3_nf; +extern cpuop_func op_8070_3_ff; +extern cpuop_func op_807b_3_nf; +extern cpuop_func op_807b_3_ff; +extern cpuop_func op_80b0_3_nf; +extern cpuop_func op_80b0_3_ff; +extern cpuop_func op_80bb_3_nf; +extern cpuop_func op_80bb_3_ff; +extern cpuop_func op_80f0_3_nf; +extern cpuop_func op_80f0_3_ff; +extern cpuop_func op_80fb_3_nf; +extern cpuop_func op_80fb_3_ff; +extern cpuop_func op_8130_3_nf; +extern cpuop_func op_8130_3_ff; +extern cpuop_func op_8170_3_nf; +extern cpuop_func op_8170_3_ff; +extern cpuop_func op_81b0_3_nf; +extern cpuop_func op_81b0_3_ff; +extern cpuop_func op_81f0_3_nf; +extern cpuop_func op_81f0_3_ff; +extern cpuop_func op_81fb_3_nf; +extern cpuop_func op_81fb_3_ff; +extern cpuop_func op_9030_3_nf; +extern cpuop_func op_9030_3_ff; +extern cpuop_func op_903b_3_nf; +extern cpuop_func op_903b_3_ff; +extern cpuop_func op_9070_3_nf; +extern cpuop_func op_9070_3_ff; +extern cpuop_func op_907b_3_nf; +extern cpuop_func op_907b_3_ff; +extern cpuop_func op_90b0_3_nf; +extern cpuop_func op_90b0_3_ff; +extern cpuop_func op_90bb_3_nf; +extern cpuop_func op_90bb_3_ff; +extern cpuop_func op_90f0_3_nf; +extern cpuop_func op_90f0_3_ff; +extern cpuop_func op_90fb_3_nf; +extern cpuop_func op_90fb_3_ff; +extern cpuop_func op_9130_3_nf; +extern cpuop_func op_9130_3_ff; +extern cpuop_func op_9170_3_nf; +extern cpuop_func op_9170_3_ff; +extern cpuop_func op_91b0_3_nf; +extern cpuop_func op_91b0_3_ff; +extern cpuop_func op_91f0_3_nf; +extern cpuop_func op_91f0_3_ff; +extern cpuop_func op_91fb_3_nf; +extern cpuop_func op_91fb_3_ff; +extern cpuop_func op_b030_3_nf; +extern cpuop_func op_b030_3_ff; +extern cpuop_func op_b03b_3_nf; +extern cpuop_func op_b03b_3_ff; +extern cpuop_func op_b070_3_nf; +extern cpuop_func op_b070_3_ff; +extern cpuop_func op_b07b_3_nf; +extern cpuop_func op_b07b_3_ff; +extern cpuop_func op_b0b0_3_nf; +extern cpuop_func op_b0b0_3_ff; +extern cpuop_func op_b0bb_3_nf; +extern cpuop_func op_b0bb_3_ff; +extern cpuop_func op_b0f0_3_nf; +extern cpuop_func op_b0f0_3_ff; +extern cpuop_func op_b0fb_3_nf; +extern cpuop_func op_b0fb_3_ff; +extern cpuop_func op_b130_3_nf; +extern cpuop_func op_b130_3_ff; +extern cpuop_func op_b170_3_nf; +extern cpuop_func op_b170_3_ff; +extern cpuop_func op_b1b0_3_nf; +extern cpuop_func op_b1b0_3_ff; +extern cpuop_func op_b1f0_3_nf; +extern cpuop_func op_b1f0_3_ff; +extern cpuop_func op_b1fb_3_nf; +extern cpuop_func op_b1fb_3_ff; +extern cpuop_func op_c030_3_nf; +extern cpuop_func op_c030_3_ff; +extern cpuop_func op_c03b_3_nf; +extern cpuop_func op_c03b_3_ff; +extern cpuop_func op_c070_3_nf; +extern cpuop_func op_c070_3_ff; +extern cpuop_func op_c07b_3_nf; +extern cpuop_func op_c07b_3_ff; +extern cpuop_func op_c0b0_3_nf; +extern cpuop_func op_c0b0_3_ff; +extern cpuop_func op_c0bb_3_nf; +extern cpuop_func op_c0bb_3_ff; +extern cpuop_func op_c0f0_3_nf; +extern cpuop_func op_c0f0_3_ff; +extern cpuop_func op_c0fb_3_nf; +extern cpuop_func op_c0fb_3_ff; +extern cpuop_func op_c130_3_nf; +extern cpuop_func op_c130_3_ff; +extern cpuop_func op_c170_3_nf; +extern cpuop_func op_c170_3_ff; +extern cpuop_func op_c1b0_3_nf; +extern cpuop_func op_c1b0_3_ff; +extern cpuop_func op_c1f0_3_nf; +extern cpuop_func op_c1f0_3_ff; +extern cpuop_func op_c1fb_3_nf; +extern cpuop_func op_c1fb_3_ff; +extern cpuop_func op_d030_3_nf; +extern cpuop_func op_d030_3_ff; +extern cpuop_func op_d03b_3_nf; +extern cpuop_func op_d03b_3_ff; +extern cpuop_func op_d070_3_nf; +extern cpuop_func op_d070_3_ff; +extern cpuop_func op_d07b_3_nf; +extern cpuop_func op_d07b_3_ff; +extern cpuop_func op_d0b0_3_nf; +extern cpuop_func op_d0b0_3_ff; +extern cpuop_func op_d0bb_3_nf; +extern cpuop_func op_d0bb_3_ff; +extern cpuop_func op_d0f0_3_nf; +extern cpuop_func op_d0f0_3_ff; +extern cpuop_func op_d0fb_3_nf; +extern cpuop_func op_d0fb_3_ff; +extern cpuop_func op_d130_3_nf; +extern cpuop_func op_d130_3_ff; +extern cpuop_func op_d170_3_nf; +extern cpuop_func op_d170_3_ff; +extern cpuop_func op_d1b0_3_nf; +extern cpuop_func op_d1b0_3_ff; +extern cpuop_func op_d1f0_3_nf; +extern cpuop_func op_d1f0_3_ff; +extern cpuop_func op_d1fb_3_nf; +extern cpuop_func op_d1fb_3_ff; +extern cpuop_func op_e0f0_3_nf; +extern cpuop_func op_e0f0_3_ff; +extern cpuop_func op_e1f0_3_nf; +extern cpuop_func op_e1f0_3_ff; +extern cpuop_func op_e2f0_3_nf; +extern cpuop_func op_e2f0_3_ff; +extern cpuop_func op_e3f0_3_nf; +extern cpuop_func op_e3f0_3_ff; +extern cpuop_func op_e4f0_3_nf; +extern cpuop_func op_e4f0_3_ff; +extern cpuop_func op_e5f0_3_nf; +extern cpuop_func op_e5f0_3_ff; +extern cpuop_func op_e6f0_3_nf; +extern cpuop_func op_e6f0_3_ff; +extern cpuop_func op_e7f0_3_nf; +extern cpuop_func op_e7f0_3_ff; +extern cpuop_func op_40c0_4_nf; +extern cpuop_func op_40c0_4_ff; +extern cpuop_func op_40d0_4_nf; +extern cpuop_func op_40d0_4_ff; +extern cpuop_func op_40d8_4_nf; +extern cpuop_func op_40d8_4_ff; +extern cpuop_func op_40e0_4_nf; +extern cpuop_func op_40e0_4_ff; +extern cpuop_func op_40e8_4_nf; +extern cpuop_func op_40e8_4_ff; +extern cpuop_func op_40f0_4_nf; +extern cpuop_func op_40f0_4_ff; +extern cpuop_func op_40f8_4_nf; +extern cpuop_func op_40f8_4_ff; +extern cpuop_func op_40f9_4_nf; +extern cpuop_func op_40f9_4_ff; +extern cpuop_func op_4e73_4_nf; +extern cpuop_func op_4e73_4_ff; diff --git a/BasiliskII/src/uae_cpu/defs68k.c b/BasiliskII/src/uae_cpu/defs68k.c new file mode 100644 index 00000000..e3cfa982 --- /dev/null +++ b/BasiliskII/src/uae_cpu/defs68k.c @@ -0,0 +1,185 @@ +#include "sysdeps.h" +#include "readcpu.h" +struct instr_def defs68k[] = { +{ 60, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 0, 16, "ORSR.B #1"}, +{ 124, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 2, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 4, 16, "ORSR.W #1"}, +{ 192, 8, {17,17,11,11,11,12,12,12,0,0,0,0,0,0,0,0}, 63936, 2, 0, { { 1, 1 }, { 1, 5 }, { 1, 0 }, { 1, 5 }, { 1, 0 } }, 4, 17, "CHK2.z #1,s[!Dreg,Areg,Aipi,Apdi,Immd]"}, +{ 0, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "OR.z #z,d[!Areg]"}, +{ 572, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 0, 16, "ANDSR.B #1"}, +{ 636, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 2, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 4, 16, "ANDSR.W #1"}, +{ 512, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "AND.z #z,d[!Areg]"}, +{ 1024, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "SUB.z #z,d[!Areg]"}, +{ 1536, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ADD.z #z,d[!Areg]"}, +{ 1728, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } }, 0, 16, "CALLM s[!Dreg,Areg,Aipi,Apdi,Immd]"}, +{ 1728, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 3, 16, "RTM s[Dreg,Areg]"}, +{ 2048, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 17, "BTST #1,s[!Areg]"}, +{ 2112, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 19, "BCHG #1,s[!Areg,Immd]"}, +{ 2176, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 19, "BCLR #1,s[!Areg,Immd]"}, +{ 2240, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 19, "BSET #1,s[!Areg,Immd]"}, +{ 2620, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 0, 16, "EORSR.B #1"}, +{ 2684, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 2, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 4, 16, "EORSR.W #1"}, +{ 2560, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "EOR.z #z,d[!Areg]"}, +{ 3072, 8, {17,17,11,11,11,12,12,12,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 17, "CMP.z #z,s[!Areg,Immd]"}, +{ 2752, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "CAS.B #1,s[!Dreg,Areg,Immd,PC8r,PC16]"}, +{ 3264, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "CAS.W #1,s[!Dreg,Areg,Immd,PC8r,PC16]"}, +{ 3324, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 16, "CAS2.W #2"}, +{ 3584, 8, {17,17,11,11,11,12,12,12,0,0,0,0,0,0,0,0}, 65280, 2, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 19, "MOVES.z #1,s[!Dreg,Areg,Immd,PC8r,PC16]"}, +{ 3776, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "CAS.L #1,s[!Dreg,Areg,Immd,PC8r,PC16]"}, +{ 3836, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 16, "CAS2.L #2"}, +{ 256, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MVPMR.W d[Areg-Ad16],Dr"}, +{ 320, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MVPMR.L d[Areg-Ad16],Dr"}, +{ 384, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MVPRM.W Dr,d[Areg-Ad16]"}, +{ 448, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MVPRM.L Dr,d[Areg-Ad16]"}, +{ 256, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 17, "BTST Dr,s[!Areg]"}, +{ 320, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 19, "BCHG Dr,s[!Areg,Immd]"}, +{ 384, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 19, "BCLR Dr,s[!Areg,Immd]"}, +{ 448, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 0 }, { 1, 1 }, { 1, 1 } }, 0, 19, "BSET Dr,s[!Areg,Immd]"}, +{ 4096, 12, {14,14,14,13,13,13,11,11,11,12,12,12,0,0,0,0}, 61440, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 18, "MOVE.B s,d[!Areg]"}, +{ 8192, 12, {14,14,14,13,13,13,11,11,11,12,12,12,0,0,0,0}, 61440, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVEA.L s,d[Areg]"}, +{ 8192, 12, {14,14,14,13,13,13,11,11,11,12,12,12,0,0,0,0}, 61440, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 18, "MOVE.L s,d[!Areg]"}, +{ 12288, 12, {14,14,14,13,13,13,11,11,11,12,12,12,0,0,0,0}, 61440, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVEA.W s,d[Areg]"}, +{ 12288, 12, {14,14,14,13,13,13,11,11,11,12,12,12,0,0,0,0}, 61440, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 18, "MOVE.W s,d[!Areg]"}, +{ 16384, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 0, 0 }, { 1, 4 }, { 0, 0 }, { 1, 4 }, { 1, 0 } }, 0, 48, "NEGX.z d[!Areg]"}, +{ 16576, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 1, { { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } }, 4, 16, "MVSR2.W d[!Areg]"}, +{ 16896, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 2 }, { 1, 3 }, { 1, 2 }, { 1, 2 } }, 0, 32, "CLR.z d[!Areg]"}, +{ 17088, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 1, 0, { { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } }, 0, 16, "MVSR2.B d[!Areg]"}, +{ 17408, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 48, "NEG.z d[!Areg]"}, +{ 17600, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 16, "MV2SR.B s[!Areg]"}, +{ 17920, 8, {17,17,13,13,13,14,14,14,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 48, "NOT.z d[!Areg]"}, +{ 18112, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 2, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, 4, 16, "MV2SR.W s[!Areg]"}, +{ 18440, 3, {15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 2, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 49, "LINK.L Ar,#2"}, +{ 18432, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 0, 0 }, { 1, 5 }, { 0, 0 }, { 1, 5 }, { 1, 0 } }, 0, 48, "NBCD.B d[!Areg]"}, +{ 18504, 3, {9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 2, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 16, "BKPT #k"}, +{ 18496, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 48, "SWAP.W s[Dreg]"}, +{ 18496, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 0, "PEA.L s[!Dreg,Areg,Aipi,Apdi,Immd]"}, +{ 18560, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 48, "EXT.W d[Dreg]"}, +{ 18560, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 2, "MVMLE.W #1,d[!Dreg,Areg,Aipi]"}, +{ 18624, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 48, "EXT.L d[Dreg]"}, +{ 18624, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 2, "MVMLE.L #1,d[!Dreg,Areg,Aipi]"}, +{ 18880, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 48, "EXT.B d[Dreg]"}, +{ 18944, 8, {17,17,11,11,11,12,12,12,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 16, "TST.z s"}, +{ 19136, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 48, "TAS.B d[!Areg]"}, +{ 19196, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 0, "ILLEGAL"}, +{ 19456, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "MULL.L #1,s[!Areg]"}, +{ 19520, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 } }, 4, 19, "DIVL.L #1,s[!Areg]"}, +{ 19584, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 1, "MVMEL.W #1,s[!Dreg,Areg,Apdi,Immd]"}, +{ 19648, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 1, "MVMEL.L #1,s[!Dreg,Areg,Apdi,Immd]"}, +{ 20032, 4, {8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0}, 65520, 0, 0, { { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } }, 0, 16, "TRAP #J"}, +{ 20048, 3, {15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 49, "LINK.W Ar,#1"}, +{ 20056, 3, {15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 48, "UNLK.L Ar"}, +{ 20064, 3, {15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 0, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 16, "MVR2USP.L Ar"}, +{ 20072, 3, {15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 0, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 32, "MVUSP2R.L Ar"}, +{ 20080, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 0, "RESET"}, +{ 20081, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 0, "NOP"}, +{ 20082, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 2, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 4, 16, "STOP #1"}, +{ 20083, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 2, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 7, 0, "RTE"}, +{ 20084, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 3, 16, "RTD #1"}, +{ 20085, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 3, 0, "RTS"}, +{ 20086, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 1 } }, 4, 0, "TRAPV"}, +{ 20087, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 3, 0, "RTR"}, +{ 20090, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 1, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 16, "MOVEC2 #1"}, +{ 20091, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 1, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 16, "MOVE2C #1"}, +{ 20096, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 2, 128, "JSR.L s[!Dreg,Areg,Aipi,Apdi,Immd]"}, +{ 16640, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 5 }, { 1, 5 }, { 1, 5 } }, 4, 17, "CHK.L s[!Areg],Dr"}, +{ 16768, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 5 }, { 1, 5 }, { 1, 5 } }, 4, 17, "CHK.W s[!Areg],Dr"}, +{ 20160, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 2, 128, "JMP.L s[!Dreg,Areg,Aipi,Apdi,Immd]"}, +{ 16832, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 2, "LEA.L s[!Dreg,Areg,Aipi,Apdi,Immd],Ar"}, +{ 20544, 9, {7,7,7,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "ADDA.W #j,d[Areg]"}, +{ 20608, 9, {7,7,7,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "ADDA.L #j,d[Areg]"}, +{ 20480, 11, {7,7,7,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ADD.z #j,d[!Areg]"}, +{ 20800, 9, {7,7,7,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "SUBA.W #j,d[Areg]"}, +{ 20864, 9, {7,7,7,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "SUBA.L #j,d[Areg]"}, +{ 20736, 11, {7,7,7,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "SUB.z #j,d[!Areg]"}, +{ 20680, 7, {2,2,2,2,15,15,15,0,0,0,0,0,0,0,0,0}, 61688, 0, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 1, 49, "DBcc.W Dr,#1"}, +{ 20672, 10, {2,2,2,2,13,13,13,14,14,14,0,0,0,0,0,0}, 61632, 0, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 0, 32, "Scc.B d[!Areg]"}, +{ 20730, 4, {2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0}, 61695, 2, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 4, 16, "TRAPcc #1"}, +{ 20731, 4, {2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0}, 61695, 2, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 4, 16, "TRAPcc #2"}, +{ 20732, 4, {2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0}, 61695, 2, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 4, 0, "TRAPcc"}, +{ 24832, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 1, 64, "BSR.W #1"}, +{ 24832, 8, {6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 1, 64, "BSR.B #i"}, +{ 25087, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 1, 64, "BSR.L #2"}, +{ 24576, 4, {3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0}, 61695, 0, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 1, 64, "Bcc.W #1"}, +{ 24576, 12, {3,3,3,3,6,6,6,6,6,6,6,6,0,0,0,0}, 61440, 0, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 1, 64, "Bcc.B #i"}, +{ 24831, 4, {3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0}, 61695, 0, 0, { { 1, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 }, { 3, 1 } }, 1, 64, "Bcc.L #2"}, +{ 28672, 11, {15,15,15,5,5,5,5,5,5,5,5,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 18, "MOVE.L #i,Dr"}, +{ 32768, 11, {15,15,15,17,17,11,11,11,12,12,12,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "OR.z s[!Areg],Dr"}, +{ 32960, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 } }, 4, 19, "DIVU.W s[!Areg],Dr"}, +{ 33024, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 0, 0 }, { 1, 4 }, { 0, 0 }, { 1, 4 }, { 1, 0 } }, 0, 19, "SBCD.B d[Dreg],Dr"}, +{ 33024, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 0, 0 }, { 1, 4 }, { 0, 0 }, { 1, 4 }, { 1, 0 } }, 0, 19, "SBCD.B d[Areg-Apdi],Arp"}, +{ 33024, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "OR.z Dr,d[!Areg,Dreg]"}, +{ 33088, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 2, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "PACK d[Dreg],Dr"}, +{ 33088, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 2, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "PACK d[Areg-Apdi],Arp"}, +{ 33152, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 2, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "UNPK d[Dreg],Dr"}, +{ 33152, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 2, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "UNPK d[Areg-Apdi],Arp"}, +{ 33216, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 } }, 4, 19, "DIVS.W s[!Areg],Dr"}, +{ 36864, 11, {15,15,15,17,17,11,11,11,12,12,12,0,0,0,0,0}, 61696, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "SUB.z s,Dr"}, +{ 37056, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "SUBA.W s,Ar"}, +{ 37120, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 0, 0 }, { 1, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "SUBX.z d[Dreg],Dr"}, +{ 37120, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 0, 0 }, { 1, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "SUBX.z d[Areg-Apdi],Arp"}, +{ 37120, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "SUB.z Dr,d[!Areg,Dreg]"}, +{ 37312, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "SUBA.L s,Ar"}, +{ 45056, 11, {15,15,15,17,17,11,11,11,12,12,12,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 17, "CMP.z s,Dr"}, +{ 45248, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 17, "CMPA.W s,Ar"}, +{ 45504, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 17, "CMPA.L s,Ar"}, +{ 45312, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 17, "CMPM.z d[Areg-Aipi],ArP"}, +{ 45312, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "EOR.z Dr,d[!Areg]"}, +{ 49152, 11, {15,15,15,17,17,11,11,11,12,12,12,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "AND.z s[!Areg],Dr"}, +{ 49344, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "MULU.W s[!Areg],Dr"}, +{ 49408, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 0, 0 }, { 1, 4 }, { 0, 0 }, { 1, 4 }, { 1, 0 } }, 0, 19, "ABCD.B d[Dreg],Dr"}, +{ 49408, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 0, 0 }, { 1, 4 }, { 0, 0 }, { 1, 4 }, { 1, 0 } }, 0, 19, "ABCD.B d[Areg-Apdi],Arp"}, +{ 49408, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "AND.z Dr,d[!Areg,Dreg]"}, +{ 49472, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 51, "EXG.L Dr,d[Dreg]"}, +{ 49472, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 51, "EXG.L Ar,d[Areg]"}, +{ 49536, 9, {15,15,15,13,13,13,14,14,14,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 51, "EXG.L Dr,d[Areg]"}, +{ 49600, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "MULS.W s[!Areg],Dr"}, +{ 53248, 11, {15,15,15,17,17,11,11,11,12,12,12,0,0,0,0,0}, 61696, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ADD.z s,Dr"}, +{ 53440, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "ADDA.W s,Ar"}, +{ 53504, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 0, 0 }, { 1, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ADDX.z d[Dreg],Dr"}, +{ 53504, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 0, 0 }, { 1, 0 }, { 0, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ADDX.z d[Areg-Apdi],Arp"}, +{ 53504, 11, {15,15,15,17,17,13,13,13,14,14,14,0,0,0,0,0}, 61696, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ADD.z Dr,d[!Areg,Dreg]"}, +{ 53696, 9, {15,15,15,11,11,11,12,12,12,0,0,0,0,0,0,0}, 61888, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 19, "ADDA.L s,Ar"}, +{ 57344, 9, {7,7,7,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ASf.z #j,DR"}, +{ 57352, 9, {7,7,7,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "LSf.z #j,DR"}, +{ 57360, 9, {7,7,7,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "ROXf.z #j,DR"}, +{ 57368, 9, {7,7,7,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "ROf.z #j,DR"}, +{ 57376, 9, {15,15,15,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ASf.z Dr,DR"}, +{ 57384, 9, {15,15,15,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "LSf.z Dr,DR"}, +{ 57392, 9, {15,15,15,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "ROXf.z Dr,DR"}, +{ 57400, 9, {15,15,15,4,17,17,16,16,16,0,0,0,0,0,0,0}, 61496, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "ROf.z Dr,DR"}, +{ 57536, 7, {4,13,13,13,14,14,14,0,0,0,0,0,0,0,0,0}, 65216, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 } }, 0, 19, "ASfW.W d[!Dreg,Areg]"}, +{ 58048, 7, {4,13,13,13,14,14,14,0,0,0,0,0,0,0,0,0}, 65216, 0, 0, { { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "LSfW.W d[!Dreg,Areg]"}, +{ 58560, 7, {4,13,13,13,14,14,14,0,0,0,0,0,0,0,0,0}, 65216, 0, 0, { { 0, 0 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "ROXfW.W d[!Dreg,Areg]"}, +{ 59072, 7, {4,13,13,13,14,14,14,0,0,0,0,0,0,0,0,0}, 65216, 0, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 0 } }, 0, 19, "ROfW.W d[!Dreg,Areg]"}, +{ 59584, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 17, "BFTST #1,s[!Areg,Apdi,Aipi,Immd]"}, +{ 59840, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 17, "BFEXTU #1,s[!Areg,Apdi,Aipi,Immd]"}, +{ 60096, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "BFCHG #1,s[!Areg,Apdi,Aipi,Immd,PC8r,PC16]"}, +{ 60352, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 17, "BFEXTS #1,s[!Areg,Apdi,Aipi,Immd]"}, +{ 60608, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "BFCLR #1,s[!Areg,Apdi,Aipi,Immd,PC8r,PC16]"}, +{ 60864, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 17, "BFFFO #1,s[!Areg,Apdi,Aipi,Immd]"}, +{ 61120, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "BFSET #1,s[!Areg,Apdi,Aipi,Immd,PC8r,PC16]"}, +{ 61376, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 2, 0, { { 1, 1 }, { 1, 0 }, { 1, 0 }, { 1, 2 }, { 1, 2 } }, 0, 19, "BFINS #1,s[!Areg,Apdi,Aipi,Immd,PC8r,PC16]"}, +{ 61952, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 17, "FPP #1,s"}, +{ 62016, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 1, 17, "FDBcc #1,s[Areg-Dreg]"}, +{ 62016, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 17, "FScc #1,s[!Areg,Immd,PC8r,PC16]"}, +{ 62074, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 16, "FTRAPcc #1"}, +{ 62075, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 16, "FTRAPcc #2"}, +{ 62076, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 0, "FTRAPcc"}, +{ 62080, 6, {10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 1, 17, "FBcc #K,#1"}, +{ 62144, 6, {10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 1, 17, "FBcc #K,#2"}, +{ 62208, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 32, "FSAVE s[!Dreg,Areg,Aipi,Immd,PC8r,PC16]"}, +{ 62272, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 3, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 16, "FRESTORE s[!Dreg,Areg,Apdi,Immd]"}, +{ 62720, 8, {5,5,5,5,5,12,12,12,0,0,0,0,0,0,0,0}, 65280, 4, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 17, "MMUOP #i,s"}, +{ 62472, 5, {19,19,15,15,15,0,0,0,0,0,0,0,0,0,0,0}, 65336, 4, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 2, "CINVL #p,Ar"}, +{ 62480, 5, {19,19,15,15,15,0,0,0,0,0,0,0,0,0,0,0}, 65336, 4, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 2, "CINVP #p,Ar"}, +{ 62488, 5, {19,19,15,15,15,0,0,0,0,0,0,0,0,0,0,0}, 65336, 4, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 0, "CINVA #p"}, +{ 62504, 5, {19,19,15,15,15,0,0,0,0,0,0,0,0,0,0,0}, 65336, 4, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 2, "CPUSHL #p,Ar"}, +{ 62512, 5, {19,19,15,15,15,0,0,0,0,0,0,0,0,0,0,0}, 65336, 4, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 2, "CPUSHP #p,Ar"}, +{ 62520, 5, {19,19,15,15,15,0,0,0,0,0,0,0,0,0,0,0}, 65336, 4, 2, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 4, 0, "CPUSHA #p"}, +{ 63008, 3, {15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65528, 4, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVE16 ArP,AxP"}, +{ 62976, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 4, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVE16 s[Dreg-Aipi],L"}, +{ 62976, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 4, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVE16 L,d[Areg-Aipi]"}, +{ 62976, 6, {11,11,11,12,12,12,0,0,0,0,0,0,0,0,0,0}, 65472, 4, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVE16 s[Aind],L"}, +{ 62976, 6, {13,13,13,14,14,14,0,0,0,0,0,0,0,0,0,0}, 65472, 4, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 0, 18, "MOVE16 L,d[Aipi-Aind]"}, +{ 28928, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 65535, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 3, 0, "EMULOP_RETURN"}, +{ 28928, 8, {18,18,18,18,18,18,18,18,0,0,0,0,0,0,0,0}, 65280, 0, 0, { { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 } }, 2, 16, "EMULOP #E"}}; +int n_defs68k = 181; diff --git a/BasiliskII/src/uae_cpu/gencpu.c b/BasiliskII/src/uae_cpu/gencpu.c index 1653adab..5045dffd 100644 --- a/BasiliskII/src/uae_cpu/gencpu.c +++ b/BasiliskII/src/uae_cpu/gencpu.c @@ -2189,14 +2189,14 @@ static void gen_opcode (unsigned long int opcode) case i_CINVA: /* gb-- srcreg now contains the cache field */ printf ("\tif (srcreg&0x2)\n"); - printf ("\t\tflush_icache(%d);\n", 30 + ((opcode >> 3) & 3)); + printf ("\t\tflush_icache(%d);\n", (int)(30 + ((opcode >> 3) & 3))); break; case i_CPUSHL: case i_CPUSHP: case i_CPUSHA: /* gb-- srcreg now contains the cache field */ printf ("\tif (srcreg&0x2)\n"); - printf ("\t\tflush_icache(%d);\n", 40 + ((opcode >> 3) & 3)); + printf ("\t\tflush_icache(%d);\n", (int)(40 + ((opcode >> 3) & 3))); break; case i_MOVE16: if ((opcode & 0xfff8) == 0xf620) { diff --git a/BasiliskII/src/uae_cpu/osx_generate_files.sh b/BasiliskII/src/uae_cpu/osx_generate_files.sh new file mode 100755 index 00000000..3f6da3ce --- /dev/null +++ b/BasiliskII/src/uae_cpu/osx_generate_files.sh @@ -0,0 +1,22 @@ +#!/bin/bash -e + +# +# osx_generate_files.sh +# +# Generates files for 68k emulation, via UAE's virtual cpu, for use on Mac OS X hosts +# + +SCRIPT_DIRNAME="$(cd $(dirname $0) && pwd)" +cd "$SCRIPT_DIRNAME" + +echo "build68k: compiling" +clang build68k.c -o build68k -I ../MacOSX/ -I ../Unix/ + +echo "build68k: running" +cat table68k | ./build68k > ./defs68k.c + +echo "gencpu: compiling" +clang gencpu.c ./defs68k.c readcpu.cpp -o gencpu -I . -I ../MacOSX/ -I ../Unix/ + +echo "gencpu: running" +./gencpu diff --git a/BasiliskII/src/video.cpp b/BasiliskII/src/video.cpp index 8f84f48d..3b46864e 100644 --- a/BasiliskII/src/video.cpp +++ b/BasiliskII/src/video.cpp @@ -48,6 +48,23 @@ uint8 monitor_desc::next_slot_id = 0x80; vector VideoMonitors; +/* + * Converts a video_depth to a C-String name ("VDEPTH_1BIT", "VDEPTH_2BIT", etc.) + */ +const char * NameOfDepth(video_depth depth) +{ + switch (depth) { + case VDEPTH_1BIT: return "VDEPTH_1BIT"; + case VDEPTH_2BIT: return "VDEPTH_2BIT"; + case VDEPTH_4BIT: return "VDEPTH_4BIT"; + case VDEPTH_8BIT: return "VDEPTH_8BIT"; + case VDEPTH_16BIT: return "VDEPTH_16BIT"; + case VDEPTH_32BIT: return "VDEPTH_32BIT"; + } + return ""; +} + + /* * Find palette size for given color depth */